Skip to main content

¿Cómo hacer que aparezca un calendario al hacer clic en una celda específica en Excel?

Author: Siluvia Last Modified: 2025-06-04

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.

 click Insert > 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:

click any one control and right click, then select Additional Controls

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.

check the Microsoft MonthView Control option

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.

create a Calendar in the 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.

copy and paste the code into the module

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.

copy and paste the code into the sheet module

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.

when clicking on any cell inside the specified range, a calendar will pop up


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.

Kutools para Excel ofrece más de 300 funciones avanzadas para simplificar tareas complejas, potenciando la creatividad y la eficiencia. Integrado con capacidades de inteligencia artificial, Kutools automatiza las tareas con precisión, haciendo que la gestión de datos sea sencilla. Información detallada de Kutools para Excel...  Prueba gratuita...

1. Haga clic en Kutools > Texto > Habilitar Selector de fechas.

click Enable Date Picker feature

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.

click on a date cell, and a calendar icon will pop up

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.

Click the calendar icon to open the Date Picker dialog box

Notas:

  • Undo button Botón Deshacer: Haga clic en este botón para deshacer el reemplazo de la fecha;
  • Close button 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:

Las mejores herramientas de productividad para Office

🤖 Kutools AI Aide: Revoluciona el análisis de datos basado en: Ejecución inteligente | Generar código | Crear fórmulas personalizadas | Analizar datos y generar gráficos | Invocar Funciones mejoradas
Funciones populares: Buscar, resaltar o marcar duplicados | Eliminar filas en blanco | Combinar columnas o celdas sin perder datos | Redondear...
Super BUSCARV: Búsqueda por varios criterios | Búsqueda de varios valores | Búsqueda en varias hojas | Coincidencia difusa....
Lista desplegable avanzada: Crea rápidamente una lista desplegable | Lista desplegable dependiente | Lista desplegable de selección múltiple....
Administrador de columnas: Agregar un número específico de columnas | Mover columnas | Alternar el estado de visibilidad de columnas ocultas | Comparar rangos y columnas...
Funciones destacadas: Cuadrícula de enfoque | Vista de diseño | Barra de fórmulas mejorada | Administrador de Libro de trabajo y Hoja de cálculo | Biblioteca de AutoTexto | Selector de fechas | Combinar Datos | Cifrar/Descifrar celdas | Enviar correo electrónico por lista | Super Filtro | Filtro especial (filtrar celdas con fuente en negrita/cursiva/tachado...)...
Top15 conjuntos de herramientas:12 herramientas de texto (Agregar texto, Eliminar caracteres específicos, ...) | Más de50 tipos de gráficos (Diagrama de Gantt, ...) | Más de40 fórmulas prácticas (Calcular edad basada en la fecha de nacimiento, ...) |19 herramientas de inserción (Insertar código QR, Insertar imagen desde ruta, ...) |12 herramientas de conversión (Convertir a palabras, Conversión de moneda, ...) |7 herramientas para combinar y dividir (Combinar filas avanzado, Dividir celdas, ...) | ... y más

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!