CALENDARIO

Este es un calendario que pretende cubrir el espacio dejado por la ausencia de MSCAL.OCX de Microsoft (con algunas variantes), que lleva algunas versiones sin ser incluido en Office. Lo he construido con un formulario VBA, al que le he incluido medio centenar de etiquetas para los días etc. y dos controles de número para los meses y los años, en vez de los desplegables de MSCAL.

El Control de número para los años; abarca desde 1900 hasta 2100, abarcará un rango mayor o menor si modificamos el valor Max a nuestras necesidades. Los meses obviamente están entre Enero y Diciembre, pero el control de número abarca desde 0 hasta 13, de tal modo que si bajamos por debajo de Enero (valor 0) pasa a ser Diciembre del año anterior y si sube de Diciembre (valor 13) pasa a ser Enero del año siguiente.

Si el día de “hoy” (fecha actual) está en pantalla, se visualiza con fondo resaltado (amarillo), tanto si pertenece al mes elegido como si pertenece al mes anterior o posterior (en la imagen; el 22 de Septiembre). En el caso de visualizarse un mes diferente al actual, podemos regresar al mes actual, haciendo clic en el logo "ASV" (abajo a la derecha).

En el ejemplo descargable, al seleccionar una celda del rango de fechas, se visualiza el calendario, y al hacer clic en uno de los días, escribe la fecha correspondiente en la celda activa (en el caso de CalendarioHoja.xlsm) y en el cuadro de texto del otro formulario (en el caso de CalendarioForm.xlsm) y oculta/Descarga el calendario.

El calendario solamente podrá ser ocultado si haces clic en uno de los días, pero no podrá ser ocultado con el botón Cerrar (X), ni con Alt+F4.

El módulo del formulario, incluido diseño y código, puede ser exportado a l disco duro e importado posteriormente desde otro libro, para ahorrarnos construir el formulario y el copiado/pegado del código.

Proceso para exportar un formulario: Desde el editor VBA, clic secundario sobre el formulario > Exportar archivo…, etc.

Volver arriba