Un control muy utilizado en Excel por muchos años ha sido el Control Date and Time Picker que nos permite insertar un calendario desplegable en nuestras hojas para permitir la selección de una fecha con un solo clic evitando así la introducción manual de una fecha.
Este control nos ahorra muchos problemas ya que en ocasiones las personas introducen fechas con un formato inválido o simplemente intercambian el día por el mes y se ocasionan problemas difíciles de corregir posteriormente.
Desafortunadamente este control ya no fue incluido en Excel 2010, ni en versiones posteriores, así que antes de poder utilizarlo será necesario realizar la instalación que describiré a continuación en dos simples pasos. Sin embargo, una condicionante para utilizar este control es tener una versión de Office de 32 bits ya que dicho control fue desarrollado varios años atrás y no es compatible con la versión de 64 bits de Office.
Paso 1: Registrar el control en Windows
El primer paso es descargar el archivo MSCOMCT2.OCX a tu computador. El archivo que descargarás es un archivo .ZIP que deberás descomprimir, obtener el archivo .OCX y posteriormente colocarlo en la carpeta C:WindowsSystem32. Si tienes Windows 7 o Windows 8 de 64 bits entonces el archivo .OCX deberá ser colocado en la carpeta C:WindowsSysWow64.
El siguiente paso es abrir el Símbolo de sistema como Administrador del equipo. Para ello debes hacer clic derecho en el icono de dicha aplicación y seleccionar la opción “Ejecutar como administrador”:
Una vez abierta la ventana del Símbolo de sistema debemos ejecutar un comando para registrar nuestro control en Windows. La instrucción depende del lugar donde hayas colocado el archivo del paso anterior. Para sistemas con Windows de 32 bits la instrucción a ejecutar es la siguiente:
regsvr32 C:WindowsSystem32MSCOMCT2.OCX
Si tienes un computador con Windows de 64 bits la instrucción debe ser la siguiente:
regsvr32 C:WindowsSysWow64MSCOMCT2.OCX
Como puedes observar, la única diferencia es la ubicación del archivo .OCX a utilizar en la instrucción. Como resultado obtendremos un mensaje de éxito en el registro.
Paso 2: Registrar el control en Excel
Ahora es necesario abrir Excel e ir a la ficha Programador, pulsar el botón Insertar y seleccionar la opción Más controles de la sección Controles ActiveX:
Dentro del cuadro de diálogo Más controles debes pulsar el botón Registrar personalizado el cual abrirá un cuadro de diálogo que nos permitirá buscar el archivo MSCOMCT2.OCX registrado en Windows en el paso anterior. Al terminar esta acción podrás ver el control Microsoft Date and Time Picker Control 6.0 (SP6) dentro de las lista de los controles disponibles para usar en Excel:
Insertar un calendario desplegable en Excel
Para insertar el calendario desplegable será suficiente con seleccionar el control de la lista y pulsar el botón Aceptar para entonces dibujarlo sobre la hoja de nuestro libro.
Para comenzar a utilizar el calendario desplegable debemos desactivar el Modo Diseño y al hacer clic sobre el control se mostrarán los días del mes actual con la fecha del día de hoy seleccionada:
Vincular una celda al calendario desplegable
Un método para conocer la fecha seleccionada en el calendario desplegable es vincular el control a una celda. Para hacerlo debemos activar de nueva cuenta el Modo Diseño desde la ficha Programador y posteriormente seleccionar el control y pulsar el botón Propiedades que también se encuentra en el grupo Controles:
Al abrirse el cuadro de diálogo Propiedades debes encontrar la propiedad llamada LinkedCell y colocar la dirección de la celda donde deseas ver reflejada la fecha del calendario desplegable. Para este ejemplo he colocado la celda A1:
Cada vez que exista una nueva selección en el calendario desplegable verás reflejada la nueva fecha en la celda vinculada:
Acceder por código al calendario desplegable
Si deseas acceder por código al valor de la fecha seleccionada en el calendario desplegable, entonces deberás hacer uso de su propiedad Value. Por ejemplo, agrega a la misma hoja un botón de comando ActiveX con el siguiente código:
Private Sub CommandButton1_Click() MsgBox DTPicker21.Value End Sub
El nombre del control, que en este caso es DTPicket21, es el valor que tiene la propiedad Name del calendario. Observa cómo al hacer clic en el botón se muestra la fecha seleccionada en el calendario:
Capturar la hora en lugar de la fecha
El control Date and Time Picker también nos ofrece la opción de capturar la hora en lugar de la fecha. Para habilitar esta opción es necesario modificar la propiedad Format habilitando la opción dtpTime.
Con este cambio el control modificará su aspecto para mostrar las horas del día y permitir al usuario modificar el número de hora, minuto o segundo a través de un par de flechas ubicadas a la derecha del control o introduciéndolas directamente con el teclado en el espacio correspondiente.
Ahora ya sabes cómo utilizar este control para obtener tanto fechas y horas sin la necesidad de aplicar validaciones adicionales ya que el mismo control limitará las opciones de captura para el usuario y además se encargará de verificar cada uno de los valores ingresados.
Artículos relacionados
Control Calendario en Excel 2010