¿Cómo hacer que aparezca un calendario al hacer clic en una celda específica en Excel?
Supongamos que hay un rango de columnas en una hoja de trabajo donde necesita ingresar y cambiar fechas con frecuencia, pero es tedioso ingresar o cambiar la fecha manualmente cada vez. ¿Cómo ingresar fechas rápidamente sin escribir manualmente en el rango de columnas? Este artículo trata sobre cómo hacer aparecer un calendario al hacer clic en celdas dentro de un rango determinado y luego insertar la fecha automáticamente en la celda seleccionada después de elegir la fecha en el calendario.
Hacer aparecer un calendario al hacer clic en una celda específica con código VBA
Por favor, resuelva este problema siguiendo los pasos a continuación.
Nota: Este método solo puede funcionar en Microsoft Excel de 32 bits.
Paso 1: Crear un UserForm con calendario
Por favor, cree un UserForm que contenga el calendario que aparecerá al hacer clic en una celda.
1. Presione simultáneamente las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic for Applications.
2. En la ventana de Microsoft Visual Basic for Applications, haga clic en Insertar > UserForm.
3. Luego aparecerán una ventana de UserForm y una ventana de Toolbox; en la Toolbox, haga clic en cualquier control y haga clic derecho, luego seleccione Controles adicionales desde el menú contextual. Ver captura de pantalla:
4. En el cuadro de diálogo Controles adicionales, desplácese hacia abajo para marcar la opción Control MonthView de Microsoft en el cuadro Controles disponibles, y luego haga clic en el botón Aceptar.
5. Luego verá que el botón MonthView se ha añadido en la ventana de Toolbox. Haga clic en este botón MonthView y luego haga clic en la ventana UserForm1 para crear un calendario en el UserForm.
Nota: Puede ajustar el tamaño de la ventana UserForm para adaptarlo al calendario insertado arrastrando el borde del UserForm.
6. Haga doble clic en el calendario insertado en el UserForm1, y en la ventana Código, reemplace el código original con el siguiente script VBA.
Código VBA: crear un formulario de usuario con calendario
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
On Error Resume Next
Dim xRg As Object
For Each xRg In Selection.Cells
xRg.Value = DateClicked
Next xRg
Unload Me
End Sub
Nota: Este código puede ayudar a insertar la fecha en la celda seleccionada después de seleccionar la fecha del calendario.
Paso 2: Activar el calendario al hacer clic en una celda
Ahora necesita especificar ciertas celdas para que aparezca el calendario al hacer clic. Por favor, siga los siguientes pasos.
7. Haga doble clic en el nombre de la hoja que contiene las celdas en las que hará clic para hacer aparecer el calendario en el panel Proyecto a la izquierda, luego copie y pegue el siguiente código VBA en la ventana Código. Ver captura de pantalla:
Código VBA: Hacer clic en la celda para hacer aparecer el calendario
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Target.Count = 1) Then
If Not Intersect(Target, Range("A2:A10")) Is Nothing Then UserForm1.Show
End If
End Sub
Nota: en el código, A2:A10 son las celdas en las que hará clic para hacer aparecer el calendario. Cambie el rango de celdas según sea necesario.
8. Presione simultáneamente las teclas Alt + Q para cerrar la ventana de Microsoft Visual Basic for Applications.
A partir de ahora, cuando haga clic en cualquier celda dentro del rango especificado en la hoja de trabajo actual, aparecerá un calendario como se muestra en la siguiente captura de pantalla. Y la fecha se insertará automáticamente en la celda seleccionada después de seleccionar la fecha en el calendario.
Hacer aparecer un calendario al hacer clic en una celda específica con código VBA
Esta sección introduce la utilidad Selector de fechas de Kutools para Excel. Después de habilitar esta función, al hacer clic en una celda de fecha aparecerá un calendario, con el que podrá reemplazar fácilmente la fecha existente por una nueva. Siga los siguientes pasos para aplicar esta función.
1. Haga clic en Kutools > Texto > Habilitar Selector de fechas.
2. Después de habilitar esta función, haga clic en una celda de fecha y aparecerá un ícono de calendario a la derecha de la celda.
3. Haga clic en el ícono del calendario para abrir el cuadro de diálogo Selector de fechas, y luego haga clic en una nueva fecha para reemplazar la fecha en la celda seleccionada.
Notas:
Botón Deshacer: Haga clic en este botón para deshacer el reemplazo de la fecha;
Botón Cerrar: Haga clic en este botón para cerrar el cuadro de diálogo Selector de fechas;
- Esta función solo puede aplicarse a celdas que contienen fecha.
Si desea tener una prueba gratuita (30-día) de esta utilidad, haga clic para descargarla y luego vaya a aplicar la operación siguiendo los pasos anteriores.
Artículos relacionados:
- ¿Cómo activar o ejecutar una Macro haciendo clic en una celda específica en Excel?
- ¿Cómo cambiar el color de una celda cuando se hace clic o se selecciona en Excel?
- ¿Cómo hacer aparecer un cuadro de mensaje al hacer clic en una celda determinada en Excel?
- ¿Cómo desactivar un botón después de hacer clic una vez en Excel?
- ¿Cómo desactivar el clic derecho en la pestaña de la hoja en Excel?
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!