Traducir el blog

Control de Calendario Desplegable en Excel

Reto de un nuevo Calendario Desplegable

El reto esta vez ha sido crear un Calendario Desplegable sin necesidad de manejar las APIS de Windows, porque en Excel 2010 y 2013 no está disponible el complemento "Control de calendario" y no quería tener que habilitar el control de calendario para Microsoft Excel 2010 de versiones anteriores.

Se puede ver en cualquier celda con el botón derecho del ratón o en las celdas de las columnas que tienen "*FECHA*" en la primera fila o, sabiendo algo de macros en VBA, seleccionar el rango de celdas en que se mostrará el Calendario Desplegable.

Este calendario es personalizable sin saber de macros ni VBA pues la imagen del calendario se obtiene de la hoja "CalCon" y las fechas señaladas como días festivos o acontecimientos se escogen en la hoja "CalFechas".


Descarga del Calendario Desplegable

Descarga el fichero desde el icono (Google Drive) o desde el enlace (Microsoft OneDrive)

Control de Calendario PW2.xlsm 


Requisitos del Calendario Desplegable

Los requisitos han sido:
  1. Programar el Control con el uso mínimo de macros VBA, solo para visualizar el Control y los cambios de mes.
  2. Crear el Control únicamente con formas nativas de Excel, ya sean imágenes o controles de formulario y ActiveX.
  3. Calcular y representar gráficamente el calendario usando las fórmulas de Excel.
  4. Mostrar el mes de la fecha de la celda activa.
  5. Controlar la modificación de la fecha de celdas activas protegidas.
  6. Cambiar fácilmente el mes y año mostrados.
  7. Retornar rápidamente al día actual o al día de la celda activa.
  8. Sombrear el día seleccionado a la vez que se cambia en la celda activa.
  9. Mostrar el número de semana comenzando en domingo o lunes y según ISO 8601
  10. Cambiar el zoom del Control. (Botones: < 0 >)
  11. Orientar el Control para que se muestre lo mejor posible alrededor de la celda activa.
  12. Incluir fechas de festivos coloreadas y generadas automáticamente, por ejemplo calculando la Semana Santa.

Más requisitos del Calendario Desplegable

18-11-2014: He añadido algunas características adicionales al control de este calendario para facilitar su uso que se pueden ver en esta imagen animada:
  1. Marcar los días por los que pasa el cursor.
  2. Controlar si se marcan los días por los que pasa el cursor. (Botón: o)
  3. Controlar si se muestran todos los días. (Botón: x)
  4. Controlar el número y el tipo de semana: la semana comienza en lunes o domingo. (Botón: w)
  5. Copiar el control a una hoja existente o nueva. (Botón de la hoja "CalCon": "Copia la forma del Control en una hoja")

Vídeo del Calendario Desplegable

En el vídeo se puede ver cómo hacer para incluir la forma agrupada en cualquier hoja, sea nueva o existente, y cómo copiar las macros de la hoja "CalTest" o "CalFechas" a la nueva hoja para que se despliegue el Calendario.



Habilitar el viejo Calendario Desplegable

Si después de conocer mi nuevo Control de Calendiario aún quieres habilitar el control de Excel 2007 en las siguientes versiones, puedes leer el siguiente soporte de Microsoft, conociendo que en Windows de 64 bits no funciona el viejo Control: Habilitar Control de calendario y DatePicker para Microsoft Excel 2010


Mi lista de blogs