Mostrar control de calendario al elegir una celda en Excel
Este ejemplo que les comparto me ha sido útil al momento de crear formatos donde requiero que el usuario ingrese una fecha.
El problema surge cuando no se tiene definido si el formato de la fecha es DD/MM/AA o MM/DD/AA, sobretodo si la configuración definida en el Panel de control no correponde al mismo país.
Por eso, se me ocurrió que al momento de elegir la celda donde queremos introducir la fecha, nos salda el control de calendario y elegimos la fecha.
Cómo lo hago
Primero nos vamos a la pestaña Desarrollador (Programador en Excel 2010). En la sección Controles elegimos Insertar y elegimos el botón de la parte inferior derecha llamado Más controles.
Ver video Guía definitiva para el uso de Calendarios en Excel
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
En el video mostramos paso a paso cómo crear este ejemplo.
En la lista que aparecerá elegimos el control Microsoft Date and Time Picker Control 6.0 (SP6).
En la misma pestaña de Desarrollador damos click en el botón Modo diseño para adecuar el control al tamaño de la celda.
Dentro de Visual Basic para aplicaciones (Alt + F11), en el Objeto donde está el control, vamos a poner el siguiente código.
'Asignar el valor de Picker a la celda B2 Private Sub DTPicker1_Change() Range("B2").Value = DTPicker1.Value End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Si la celda elegida es B2, se muestra el Picker If Not Intersect(Target, Range("B2")) Is Nothing Then With DTPicker1 .Visible = True .Top = 15.75 .Left = 86.25 .Width = 145 .Height = 17.25 End With 'En todo caso se oculta Else DTPicker1.Visible = False End If End Sub
Y como resultado tenemos que cada vez que se elija la celda B2 saldrá el control de calendario para elegir una fecha y esta se reflejará en dicha celda.