Guía definitiva para el uso de calendarios en Excel
En este artículo pretendo darte una guía para usar controles de Calendario en Excel, ya que en muchas ocasiones necesitamos tener una manera sencilla de insertar fechas en una celda
Los controles de Calendario que veremos en este artículo van desde el Control Date and Time Picker que viene incluido en los controles de Excel, pasando con controles prediseñados usando macros hasta controles de calendario que podemos descargar desde de la Tiende de Office.
Controles de Calendario para usar en Excel
Los controles que veremos en este artículo son:
- Control de calendario Date and Time Picker.
-
Control de calendario de Andrés Rojas Moncada, MVP de Excel.
-
Control de calendario de Ron de Bruin, MVP de Excel.
-
Control de calendario de Otto Javier González, MVP de Excel.
-
Calendarios de la tienda de Office.
Ver video Guía definitiva de calendarios en Excel
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Control de calendario Date and Time Picker
Este control de calendario “era” por excelencia el control favorito para insertar fechas en Excel. Y nota que digo “era”, ya que este control dejó ser compatible con Excel al momento de ser usado sobre Windows de 64 bits, aunque todavía es posible usar este control sólo si la versión de Excel instalada es de 32 bits. Para usarse debemos registrar el control en Windows. Si usas Excel de 64 bits olvídate de poder usar este control.
Si tienes Excel de 32 bits y Windows de 64 bits, sigue estos pasos para instalar el control y lo puedas usar en Excel:
-
Descarga de aquí el control mscomct2.ocx. Confía en mi. La descarga es segura.
-
Descomprime el archivo lo pones sobre la ruta C:\Windows\SysWOW64.
-
Presiona el botón de Windows y escribre CMD.
-
Deberá aparecerte en los resultados la aplicación Símbolo de sistema. Da clic derecho y elige Ejecutar como administrador.
Figura 1. Ejecutamos el Símbolo de sistema como administrador.
Se abrirá una ventana de cmd. Deberás insertar el siguiente texto: regsvr32 “C:WindowsSysWOW64mscomct2.ocx”
Figura 2. Debemos registrar el control sobre Windows de 64 bits.
Una vez registrado el control ahora estamos listos para usarlo en Excel. Sigue los siguientes pasos:
-
Presiona la combinación de teclas [Alt] + [F11].
-
En el editor de macros vba elige el menú Insertar > Userform.
-
En el cuadro de herramientas da clic derecho y elige Controles adicionales.
-
Marca la opción Microsoft Date and Time Picker Control 6.0 (SP6).
-
Inserta el control DTPicker.
-
Ahora insertar un botón.
Figura 3. Dibujamos el formulario con el control de calendario.
Damos doble clic en el botón e insertamos la siguiente macro para insertar la fecha elegida en la celda elegida:
Private Sub CommandButton1_Click() 'Se inserterá la fecha en la celda elegida. ActiveCell.Value = Me.DTPicker1.Value Unload Me End Sub
A la hoja donde mandaremos llamar el calendario la renombraremos “Control DTP”. Sobre la hoja damos clic derecho y elegimos Ver código. Insertamos la siguiente macro para mostrar el formulario al elegir la celda B3:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Si la celda elegida es B3, se mostrará el formulario. If Target.AddressLocal = "$B$3" Then frmDTP.Show End If End Sub
Figura 4. Al elegir la celda B3 se lanzará el formulario donde elegiremos una fecha a insertar.
Control de calendario de Andrés Rojas Moncada
Como vimos anteriormente, para usar el control de calendario de Office lo debemos instalar, pero si tenemos Excel de 64 bits entonces no hay manera de poder usarlo. Ante este inconveniente, mi amigo Andrés Rojas Moncada del canal Excel hecho fácil desarrolló un genial control de calendario que fácilmente podemos adecuar a nuestros desarrollos, sin necesidad e instalar nada.
-
En este video Andrés nos explica el funcionamiento de su calendario.
-
Descarga el control de calendario desde esta página: http://www.excelhechofacil.com/p/calendario.html.
-
Abrimos el archivo cCalendario.xlsm.
-
Ejecutar el editor de macros vba con [Alt] + [F11].
-
Ahora vamos a mover el módulo llamado ModuloCalendario y el formulario llamado frmCalendario a nuestro archivo donde queremos utilizar el calendario de Andrés.
Figura 5. Movemos los archivos frmCalendario y ModuloCalendario de un proyecto a otro.
Ahora podemos cerrar el archivo cCalendario.xlsm. Los elementos que hemos movido a nuestro archivo debemos de hacerles unas pocas modificaciones para que podamos mandar llamar al calendario.
-
Damos clic derecho sobre la hoja donde queremos mandar llamar el calendario y elegimos Ver código.
-
Insertamos la siguiente macro para lanzar el calendario al elegir la celda B3:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Lanzar control de calendario al elegir la celda B3 If Target.Address = "$B$3" Then Load frmCalendario frmCalendario.Show End If End Sub
-
Ahora nos vamos al editor de macros vba y damos doble clic sobre el Módulo ModuloCalendario.
-
Ubica una macro que se llama RecibeLaFecha y reemplaza la macro con el siguiente código:
Public Sub RecibeLaFecha(Dia As Long, Mes As Long, Ano As Long) Dim FechaRecibida As Date FechaRecibida = VBA.DateSerial((VBA.CInt(Ano)), (VBA.CInt(Mes)), (VBA.CInt(Dia))) 'DIRECCIONE LA FECHA AL CONTROL O CELDA QUE REQUIERA ActiveCell.Value = FechaRecibida End Sub
Con los cambios anteriores lograremos que al seleccionar la celda B3 se lance el formulario. Para insertar la fecha damos doble clic sobre el día que queremos insertar.
Figura 6. Damos doble clic sobre la fecha deseada.
Control de calendario de Ron de Bruin
En el año 2016 Ron de Bruin decidió desarrollar también un control de calendario el cual pueda instalarse como un complemento de Excel y nos pueda servir para elegir e insertar fechas, pero el plus de este control es que viene con la opción de verlo en los idiomas Inglés, Alemán, Español, Francés, Ruso y Danés, entre otras configuraciones que hacen de este complemento una excelente herramienta para el uso de calendarios en Excel.
Figura 7. Agradecimiento de Ron a los que le ayudamos con la traducción del add-in.
-
Descarga el calendario de la página: http://www.rondebruin.nl/win/addins/datepicker.htm.
-
Se descargará el archivo WinDatePicker.xlam.
-
El archivo es un complemento de Excel, por lo que debemos instalarlo en nuestra PC.
-
Pon el archivo en una ubicación de tu confianza y sigue este video donde aprenderás paso a paso cómo instalar complementos en Excel: https://www.youtube.com/watch?v=gyRLPbLrMkE.
-
Una vez instalado el complemento podrás ver el calendario dando clic derecho sobre una celda y elegir la opción Date Picker.
-
Ahora bien, si lo que deseamos es que se muestre el calendario al elegir una celda de Excel debemos damos clic derecho sobre la etiqueta de la hoja y elegimos Ver código.
-
Insertamos la siguiente macro:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim TestWkbk As Workbook Dim obj As Object 'Se lanzará el calendario al elegir la celda B3 If Target.Address = "$B$3" Then If Val(Application.Version) >= 12 Then Set TestWkbk = Nothing On Error Resume Next Set TestWkbk = Workbooks("WinDatePicker.xlam") On Error GoTo 0 If TestWkbk Is Nothing Then MsgBox "El add-in Date Picker no está instalado o abierto." Else Application.Run "'" & TestWkbk.Name & "'!OpenDatePicker", obj End If End If End If End Sub
Figura 8. En este calendario tendrás interesantes opciones de configuración.
Calendario de Otto Javier González
Otro de mis estimados amigos es Otto González, quien en su canal Excel y más nos ha venido a mover el piso con una serie de video tutoriales donde nos enseña que desde Visual Studio y usando Visual Basic .NET podemos manipular elementos de Excel. En uno de esos videos nos muestra cómo hacer complementos para Excel y nos regala uno de ellos donde podemos insertar un calendario muy parecido al control Date and Time Picker. Sigamos los siguientes pasos:
-
Mira el video donde nos muestra cómo desarrolló Excel add-in tools: https://www.youtube.com/watch?v=–ub-U282V0&t=3s.
-
Descarga desde aquí el instalador: http://bit.ly/2jk5XIZ.
-
Se descargará un archivo .ISO el cual debemos descomprimir.
-
Una vez que lo hayamos descomprimido debes ejecutar el archivo setup.exe, pero procura cerrar Excel antes de instarlo.
-
Al instalarlo puede que te solicite actualizar algunos elementos en tu PC, como la versión de .NET framework.
-
Al instalar el complemento abres de nuevo Excel y te diriges a la pestaña Inicio.
-
Al final de los elementos de la pestaña Inicio verá uno que dice Control Calendario.
-
Al elegir la opción se insertará un panel a la derecha donde veremos el calendario y al elegir algún día, la fecha se insertará en la celda elegida.
-
También podemos desanclar el calendario moviéndolo a la posición que más nos convenga.
Figura 10. Tú decides si dejas el calendario en el panel o lo mueves a otra ubicación.
Calendarios de la tienda de Office
Una de las tendencias de Office es el desarrollar complementos que sean compatibles tanto con Office de escritorio como en Office online, es por eso que existe la tienda de Office de donde podremos descargar complementos tanto gratuitos como de pago. Sigue los siguientes pasos para descargar calendarios para Excel:
-
Ve a la pestaña Insertar y elige Tienda.
-
En la sección tienda nos dirigimos al buscador y escribe calendar, seguido de Enter.
-
Verás algunos complementos que podemos instalar en Excel.
-
Elegimos el complemento XLTools.net Calendar y presiona el botón Agregar.
-
Para insertar el calendario en la hoja de Excel nos dirigimos de nuevo a la pestaña Insertar > Mis complementos y veremos la lista de los complementos de Office instalados.
Figura 9. Este calendario queda insertado en la hoja y podrás poner en la ubicación que más convenga.