Consejo: Otros idiomas son traducidos por Google. Puedes visitar el English versión de este enlace.
Iniciar sesión
x
or
x
x
Suscríbete
x

or

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

Suponiendo que hay un rango de columna en una hoja de trabajo, necesita ingresar y cambiar las fechas con frecuencia en el interior, pero está aburrido de ingresar o cambiar la fecha manualmente por tiempo. ¿Cómo ingresar rápidamente las fechas sin escribir manualmente en el rango de la columna? Este artículo habla de mostrar un calendario al hacer clic en las celdas en un rango determinado, y luego insertar la fecha en la celda seleccionada automáticamente después de seleccionar la fecha en el calendario.

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

Crear un UserForm con calendario

Activar el calendario al hacer clic en la celda


Selector de fecha (selecciona fácilmente la fecha con el formato de fecha específico del calendario e inserta en la celda seleccionada):

Haz click Kutools > recuadro > Insertar la fechay en el cuadro de diálogo Insertar fecha, especifique un formato de fecha, haga doble clic en una fecha determinada para insertar esta fecha en una celda seleccionada de forma inmediata. Ver captura de pantalla a continuación:

Kutools for Excel: con más de 200 útiles complementos de Excel, de prueba sin límite en días 60. Descargue la versión de prueba gratuita Ahora!

Ficha Office Habilite la edición y navegación con pestañas en Office y haga su trabajo mucho más fácil ...
Kutools for Excel trae las características avanzadas de 300 a Excel y aumenta su productividad en 80%
  • Texto automático: Cree sus gráficos, imágenes, celdas, fórmulas complejas y reutilizar ellos rápidamente en el futuro.
  • Más de características de texto 20: Extraer número de la cadena de texto; Extraer o eliminar parte de los textos; Convertir números y monedas a palabras en inglés ...
  • Herramientas de fusión: Múltiples libros de trabajo y hojas en uno; Fusionar múltiples celdas / filas / columnas y guardar datos; Combinar filas duplicadas y sumar ...
  • Herramientas divididas: Dividir datos en varias hojas en función del valor; Un libro de trabajo para múltiples archivos Excel, PDF o CSV; De una columna a varias columnas ...
  • Saltar pasta Filas ocultas / filtradas; Cuenta y suma por color de fondo; Crear lista de correo y Enviar correos electrónicos por el valor de la celda...
  • Súper filtro: Cree esquemas de filtro avanzados y aplique a cualquier hoja; Tipo de Propiedad por semana, día, frecuencia y más; Filtrar por negrita, fórmulas, comentario ...
  • Más de potentes funciones de 300; Funciona con Office 2007-2019 y 365; Soporta todos los idiomas; Fácil despliegue en compañía; Funciones completas de prueba gratuita de 60-day.

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


Resuelva este problema de la siguiente manera paso a paso.

Nota: Este método solo puede funcionar en Microsoft Excel 32-bit.

Crear un UserForm con calendario

Cree un UserForm que contenga el calendario que aparecerá haciendo 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 una Caja de instrumento ventanas emergentes, en el Caja de instrumento, haga clic en cualquier control y haga clic con el botón secundario, 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 verificar Control MonthView de Microsoft opción en el Controles disponibles caja, y luego haga clic en OK botón.

5. Entonces puedes ver el MonthView botón se agrega en el Caja de instrumento ventana. Haga clic en este botón MonthView y luego haga clic en la ventana UserForm1 para crear un calendario en la forma de usuario.

Nota: Puede ajustar el tamaño de la ventana UserForm para adaptarse al calendario insertado arrastrando el borde del UserForm.

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

Código de VBA: crea 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.

Activar el calendario al hacer clic en la celda

Ahora debe especificar ciertas celdas para que aparezca el calendario al hacer clic. Por favor 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 en la izquierda Proyecto panel, luego copie y pegue el siguiente código de VBA en la ventana Código. Ver captura de pantalla:

Código de VBA: haga clic en la celda para abrir 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 celdas en las que hará clic para abrir el calendario. Por favor, cambie el rango de celdas como lo necesite.

8. Prensa otro + Q llaves al mismo tiempo 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 cálculo 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 del calendario.


Artículos relacionados:


Kutools for Excel: la mejor herramienta de productividad de Office aumenta su productividad en un 80%

  • Super Formula Bar (edite fácilmente varias líneas de texto y fórmula); Diseño de lectura (lee y edita fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y mantener datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir células duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Celdas múltiples sin cambiar la referencia de fórmula; Crear referencias automáticamente a múltiples hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertadas rápidamente, Gamas, cuadros y cuadros; Cifrar celdas con contraseña Crear una lista de correo y enviar correos electrónicos ...
  • Extracto del texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes / semana / día, frecuencia y más; Filtro especial por negrita, cursiva ...
  • Combinar libros de trabajo y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes xls, xlsx y PDF...
  • Más de potentes funciones de 300. Funciona con Office 2007-2019 y 365. Soporta todos los idiomas. Fácil despliegue en compañía. Funciones completas de prueba gratuita de 60-day.
pestaña kte 201905

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

  • Habilitar la edición y lectura con pestañas en Word, Excel, PowerPoint, Editor, Acceso, Visio y Proyecto.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta tu productividad en un 50% y reduce cientos de clics de ratón por ti todos los días!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    DwarthK · 3 months ago
    Thank you so much! These directions were super useful :)
  • To post as a guest, your comment is unpublished.
    jeet · 5 months ago
    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?
    • To post as a guest, your comment is unpublished.
      crystal · 5 months ago
      Hi jeet,
      Follow the steps and replace the range "A2:A10" in the second VBA code with your column range (such as C2:E2).
  • To post as a guest, your comment is unpublished.
    Giuseppe · 7 months ago
    Salve il codice funziona benissimo, ma se volessi farlo funzionare anche su un altro foglio
  • To post as a guest, your comment is unpublished.
    Sam · 7 months ago
    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
    • To post as a guest, your comment is unpublished.
      crystal · 6 months ago
      Hi Sam,
      The code has been updated in the article with the problem solving. Please have a try and thank you for your comment.
  • To post as a guest, your comment is unpublished.
    cevat · 7 months ago
    tarihi seçebiliyorum ama a1:a10 hücrelerine seçtiğim tarih eklenmiyor. teşekkür ederim
  • To post as a guest, your comment is unpublished.
    MG · 1 years ago
    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.
    • To post as a guest, your comment is unpublished.
      Chris · 7 months ago
      Use i.e: Range("B6:C30")
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good Day,
      Sorry I didn't got your question. Would be nice if you could provide screenshot of what you are trying to do.
  • To post as a guest, your comment is unpublished.
    George · 2 years ago
    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?
  • To post as a guest, your comment is unpublished.
    Sirimon · 2 years ago
    I want to show pop up calendar under the cell selected.How should I do?