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.

DTPicker

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).

DTPicker2

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.

DTPicker3

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.

DTPicker4

:: Descargar EXCELeINFO – Control calendario en celda.xlsm

You may also like...