Saltar al contenido principal

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

Supongamos que hay un rango de columnas en una hoja de trabajo que necesita ingresar y cambiar las fechas con frecuencia dentro, pero es aburrido ingresar o cambiar la fecha manualmente por hora. ¿Cómo ingresar fechas rápidamente sin ingresar manualmente en el rango de columnas? Este artículo habla sobre cómo abrir un calendario al hacer clic en celdas en un cierto rango, luego insertar la fecha en la celda seleccionada automáticamente después de seleccionar la fecha en el calendario.


Aparece un calendario al hacer clic en una celda específica con código VBA

Resuelva este problema de la siguiente manera paso a paso.

Note: Este método solo puede funcionar en Microsoft Excel de 32 bits.

Paso 1: crea un formulario de usuario con calendario

Cree un formulario de usuario que contenga el calendario que aparecerá al hacer clic en una celda.

1. Prensa otro + F11 teclas simultáneamente para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Formulario de usuario.

3. Entonces un Formulario de usuario y Herramientas ventanas emergentes, en el Herramientas, haga clic en cualquier control y haga clic derecho, luego seleccione Controles adicionales desde el menú contextual. Ver captura de pantalla:

4. En el Controles adicionales cuadro de diálogo, desplácese hacia abajo para comprobar el Control de MonthView de Microsoft opción en el Controles disponibles cuadro, y luego haga clic en el OK del botón.

5. Entonces puede ver el Vista de mes botón se agrega en el Herramientas ventana. Haga clic en este botón MonthView y luego haga clic en la ventana UserForm1 para crear un calendario en el formulario de usuario.

Note: Puede ajustar el tamaño de la ventana UserForm para que se adapte al calendario insertado arrastrando el borde del UserForm.

6. Haga doble clic en el calendario insertado en UserForm1, y en el Código ventana, reemplace el código original con el siguiente script VBA.

VBA code: create a user form with calendar

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

Note: Este código puede ayudar a insertar la fecha en la celda seleccionada después de seleccionar la fecha del calendario.

Paso 2: active el calendario al hacer clic en la celda

Ahora debe especificar ciertas celdas para que aparezca el calendario al hacer clic. Haz lo siguiente.

7. Haga doble clic en el nombre de la hoja que contiene las celdas en las que hará clic para que aparezca el calendario a la izquierda. Proyecto , luego copie y pegue el código VBA a continuación en la ventana Código. Ver captura de pantalla:

VBA code: Click cell to pop up calendar

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

Note: en el código, A2: A10 son celdas en las que hará clic para mostrar el calendario. Cambie el rango de celdas que necesite.

8. Prensa otro + Q teclas simultáneamente para cerrar el Microsoft Visual Basic para aplicaciones ventana.

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 a continuación. Y la fecha se insertará automáticamente en la celda seleccionada después de seleccionar la fecha en el calendario.


Aparece un calendario al hacer clic en una celda específica con código VBA

Esta sección presenta la Selector de fechas utilidad de Kutools for Excel. Después de habilitar esta función, haga clic en una celda de fecha y aparecerá un calendario, puede reemplazar fácilmente la fecha existente con una nueva fecha. Siga los pasos a continuación para aplicar esta función.

1. Hacer clic en Kutools > Contenido > Habilitar selector de fecha.

2. Después de habilitar esta función, haga clic en una celda de fecha y aparecerá un icono de calendario directamente en la celda.

3. Haga clic en el icono de calendario para abrir el Selector de fechas cuadro de diálogo 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 la fecha de reemplazo;
  • Botón Cerrar: haga clic en este botón para cerrar el cuadro de diálogo Selector de fecha;
  • Esta función solo se puede aplicar a las celdas que contienen la fecha.

  Si desea tener una prueba gratuita (30 días) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.


Artículos relacionados:

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear 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  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
Comments (18)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am not seeing the Microsoft MonthView Control in the listing, but it may be as Pete (#32847) mentioned that this will not work in Office 365 or 64-bit Microsoft Office.
This comment was minimized by the moderator on the site
Hi Teagan Caudle,
I searched and tried the methods suggested in google, but ultimately could not register the MonthView control in Microsoft 365.
Sorry for the inconvenience. Maybe you can check this out.
https://social.technet.microsoft.com/Forums/Azure/en-US/db3b4dff-aad7-4d88-87cc-8f3f117be550/microsoft-windows-common-controls-60-for-office-2016
This comment was minimized by the moderator on the site
There is no Microsoft MonthView Control listed (Office 365), and the directions here doesn't explain how one would get that control, so this is pretty much useless unless you're using an older version of Excel.
This comment was minimized by the moderator on the site
The calendar will show up but when I click on the date, the cell doesn't populate
This comment was minimized by the moderator on the site
Hi,
The code works well in my case. Which Excel version are you using?
This comment was minimized by the moderator on the site
Thank you so much! These directions were super useful :)
This comment was minimized by the moderator on the site
Hi, Is it possible to put the date picker pop-up for multiple column, as in my sheet I have "start date", "end date" and "agreement date". if yes then how?
This comment was minimized by the moderator on the site
Hi jeet,
Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
This comment was minimized by the moderator on the site
Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
This comment was minimized by the moderator on the site
if i try to select a row, the pop up will activate and the date appears in each cell in that row


how can i avoid this
This comment was minimized by the moderator on the site
Hi Sam,
The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
This comment was minimized by the moderator on the site
tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
This comment was minimized by the moderator on the site
Hello everyone,

Can anyone tell me how to popup a calendar in a range of cells, but starting only from the cell right bellow a table header and down bellow in an excel column.


Thank you in advance.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
Good Day,
Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
This comment was minimized by the moderator on the site
Use i.e: Range("B6:C30")
This comment was minimized by the moderator on the site
i used these VBA codes and everthing's fine so far. The range is A2:A10 and calendar pops up when you select a cell into it. But if you mark row from 2 to 10 again the calendar pops again. It's the same with column "A" if you mark it, again the calendar pops. How should i proceed, in order to get the calendar only in the range i've defined?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations