Saltar al contenido principal

¿Cómo enumerar todas las fechas entre dos fechas en Excel?

En algunos casos, si tiene la fecha de inicio y la fecha de finalización específicas, es posible que deba enumerar todas las fechas entre estas dos fechas determinadas en Excel. Ahora, este tutorial habla de los métodos para enumerar todas las fechas entre dos fechas en Excel.

Enumere todas las fechas entre dos fechas por fórmulas

Enumere todas las fechas entre dos fechas por VBA

Enumere todas las fechas entre dos fechas por Kutools para Excel buena idea3


Aquí presento fórmulas que pueden enumerar rápidamente todas las fechas entre dos fechas dadas para usted en Excel.

1. Escriba las fechas de inicio y finalización en dos celdas, aquí las escribo en las celdas A1 y A2. Ver captura de pantalla:
doc-list-todas-fechas-entre-dos-fechas-1

2. Luego vaya a la celda C1 para escribir esta fórmula = A1 + 1 en él, luego haga clic en Participar llave. Ver captura de pantalla:
doc-list-todas-fechas-entre-dos-fechas-2

3. Luego, en la celda C2, escriba esta fórmula =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) en él, luego arrastre el controlador de autocompletar hacia abajo a las celdas hasta que aparezca una celda en blanco. Ver capturas de pantalla:

doc-list-todas-fechas-entre-dos-fechas-3       doc-list-todas-fechas-entre-dos-fechas-4

Luego puede ver que todas las fechas entre dos fechas determinadas se enumeran en la columna.
doc-list-todas-fechas-entre-dos-fechas-5

Nota:

En las fórmulas anteriores, A1 es la fecha de inicio, A2 es la fecha de finalización y C1 es la primera fecha entre el rango de fechas.


Si está interesado en el código de macro, puede usar el VBA a continuación para enumerar todas las fechas entre dos fechas determinadas en Excel.

1. Escriba la fecha de inicio y la fecha de finalización en dos celdas, aquí escribo la celda A1 y B1. Ver captura de pantalla:
doc-list-todas-fechas-entre-dos-fechas-6

2. Prensa Alt + F11 llaves para abrir Microsoft Visual Basic para aplicaciones ventana.

3. Luego haga clic recuadro > Módulo y copie y pegue debajo del código VBA en la ventana emergente Módulo ventana.

VBA: enumere todas las fechas entre dos fechas.

Sub WriteDates()
	'Updateby20150305
	Dim rng As Range
	Dim StartRng As Range
	Dim EndRng As Range
	Dim OutRng As Range
	Dim StartValue As Variant
	Dim EndValue As Variant
	xTitleId     = "KutoolsforExcel"
	Set StartRng = Application.Selection
	Set StartRng = Application.InputBox("Start Range (single cell):", xTitleId, StartRng.Address, Type: = 8)
	Set EndRng   = Application.InputBox("End Range (single cell):", xTitleId, Type: = 8)
	Set OutRng   = Application.InputBox("Out put to (single cell):", xTitleId, Type: = 8)
	Set OutRng   = OutRng.Range("A1")
	StartValue   = StartRng.Range("A1").Value
	EndValue     = EndRng.Range("A1").Value
	If EndValue - StartValue <= 0 Then
		Exit Sub
		End If
		ColIndex = 0
		For i = StartValue To EndValue
			OutRng.Offset(ColIndex, 0) = i
			ColIndex = ColIndex + 1
		Next
	End Sub

4. Hacer clic en Ejecutar or F5 para ejecutar el VBA, y aparece un cuadro de diálogo para que seleccione la fecha de inicio, luego haga clic en OK, luego seleccione la fecha de finalización en el segundo cuadro de diálogo emergente. Ver captura de pantalla:

doc-list-todas-fechas-entre-dos-fechas-7          doc-list-todas-fechas-entre-dos-fechas-8

5. Hacer clic en OK, luego seleccione una celda para poner las fechas, y luego haga clic en OK. Ahora puede ver que se enumeran todas las fechas entre dos fechas. Ver capturas de pantalla:

doc-list-todas-fechas-entre-dos-fechas-9         doc-list-todas-fechas-entre-dos-fechas-10

Note: La lista generada por este VBA incluye la fecha de inicio y la fecha de finalización.


En realidad, si instaló Kutools for Excel - una útil herramienta adicional, también puede utilizar la Insertar datos aleatorios para resolver este problema.

Kutools for Excel, con más de 300 prácticas funciones de Excel, mejoran su eficiencia de trabajo y ahorran tiempo de trabajo.

Después instalación gratuita Kutools para Excel, haga lo siguiente:

1. Seleccione una columna en la que desee incluir fechas entre dos fechas y haga clic en Kutools > recuadro > Insertar datos aleatorios. Ver captura de pantalla:
doc insertar datos aleatorios 1

2. Luego, en el Insertar datos aleatorios diálogo, haga clic Fecha pestaña, luego seleccione las fechas de inicio y finalización de la Desde y To lista, luego recuerda comprobar Workday, Fin de semana y Valores únicos casillas de verificación. Ver captura de pantalla:
doc-list-todas-fechas-entre-dos-fechas-12

3. Hacer clic en Ok para cerrar el diálogo, y otro Kutools for Excel aparece el cuadro de diálogo, simplemente haga clic en . Luego puede ver que se enumeran las fechas entre la fecha de inicio y la fecha de finalización. Ver capturas de pantalla:

doc-list-todas-fechas-entre-dos-fechas-13           doc-list-todas-fechas-entre-dos-fechas-14

4. Ahora debe ordenar la lista de fechas en el orden que necesite. Hacer clic Datos > Ordenar del más antiguo al más nuevo. Luego, puede ver que las fechas están ordenadas desde la fecha más antigua hasta la fecha más reciente. Ver capturas de pantalla:

doc-list-todas-fechas-entre-dos-fechas-15          doc-list-todas-fechas-entre-dos-fechas-16

Con Insertar datos aleatorios utilidad, también puede insertar un número entero aleatorio, una cadena aleatoria y un tiempo aleatorio, etc. Haga clic aquí para saber más sobre Insertar datos aleatorios.


Artículos relativos:


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 (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How to loop this vba code (1000 rows for example) ?
This comment was minimized by the moderator on the site
Sorry for reply such late, but I do not understand your question, the VBA only for listing dates between a date range, why need to loop the code?
This comment was minimized by the moderator on the site
Firat - did you solve your issue? I have exactly the same issue and I cannot get the result in the row instead of the column.
This comment was minimized by the moderator on the site
If you invert this line you can make it work :


OutRng.Offset(ColIndex, 0) = i to OutRng.Offset(0, ColIndex) = i
This comment was minimized by the moderator on the site
Why do not try to transpose the column result to row?
This comment was minimized by the moderator on the site
i tried the VBA code it worked.. Thanks for sharing. Similarly is it possible to pase it along columns/ horizontally?
This comment was minimized by the moderator on the site
Hello, if you want to list dates in a row horizontally, you just need to use the vba code to list the dates, and copy the results and paste transpose.
This comment was minimized by the moderator on the site
Hello, Thanks for sharing a great code. I would like to ask one question though. I am using this VBA code you shared. 1) Can I list all the other cells in the same row with the dates? 2) Can we define the starting date cell and ending date cell and the cell that the new information will be written? I am asking these questions because I have 30 rows. Each row has data for different people. Cell G is a starting date and Cell H is an ending date. Other cells contains some information. I would like this to be listed in a new cell as all the dates between these cells. For example (just showing demonstration, so only G and H cells written below-I is where the list appears): Row 2 Person A 28/05/2017 05/06/2017 28/05/2017 Row 3 Person A 28/05/2017 05/06/2017 29/05/2017 Row 4 Person A 28/05/2017 05/06/2017 30/05/2017 Row 5 Person A 28/05/2017 05/06/2017 31/05/2017 Row 6 Person A 28/05/2017 05/06/2017 01/06/2017 Row 7 Person A 28/05/2017 05/06/2017 02/06/2017 Row 8 Person A 28/05/2017 05/06/2017 03/06/2017 Row 9 Person A 28/05/2017 05/06/2017 04/06/2017 Row 10 Person A 28/05/2017 05/06/2017 05/06/2017 Row 11 Person B 23/05/2017 31/05/2017 23/05/2017 Row 12 Person B 23/05/2017 31/05/2017 24/05/2017 Row 13 Person B 23/05/2017 31/05/2017 25/05/2017 Row 14 Person B 23/05/2017 31/05/2017 26/05/2017 and so on...
This comment was minimized by the moderator on the site
Can we use text box instead of in box in macro
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations