Vai al contenuto principale

Come elencare tutte le date tra due date in Excel?

In alcuni casi, se si dispone della data di inizio e della data di fine specifiche, potrebbe essere necessario elencare tutte le date tra queste due date in Excel. Ora questo tutorial parla dei metodi per elencare tutte le date tra due date in Excel.

Elenca tutte le date comprese tra due date in base a formule

Elenca tutte le date comprese tra due date da VBA

Elenca tutte le date tra due date di Kutools per Excel buona idea 3


Qui presento le formule che possono elencare rapidamente tutte le date tra due date date per te in Excel.

1. Digita le date di inizio e fine in due celle, qui le digito nelle celle A1 e A2. Vedi screenshot:
doc-list-all-date-between-two-date-1

2. Quindi vai alla cella C1 per digitare questa formula = A1 + 1 in esso, quindi fare clic entrare chiave. Vedi screenshot:
doc-list-all-date-between-two-date-2

3. Quindi nella cella C2, digitare questa formula =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) al suo interno, quindi trascina il quadratino di riempimento automatico verso il basso sulle celle finché non viene visualizzata una cella vuota. Vedi screenshot:

doc-list-all-date-between-two-date-3       doc-list-all-date-between-two-date-4

Quindi puoi vedere tutte le date tra due date date sono elencate nella colonna.
doc-list-all-date-between-two-date-5

Nota:

Nelle formule precedenti, A1 è la data di inizio, A2 è la data di fine e C1 è la prima data nell'intervallo di date.


Se sei interessato al codice macro, puoi utilizzare il VBA sottostante per elencare tutte le date tra due date date in Excel.

1. Digita la data di inizio e la data di fine in due celle, qui digito le celle A1 e B1. Vedi screenshot:
doc-list-all-date-between-two-date-6

2. Stampa Alt + F11 chiavi per aprire Microsoft Visual Basic, Applications Edition finestra.

3. Quindi fare clic inserire > Moduli e copia e incolla sotto il codice VBA nel popping Moduli finestra.

VBA: elenca tutte le date tra due date.

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. Clic Correre or F5 per eseguire VBA e viene visualizzata una finestra di dialogo per selezionare la data di inizio, quindi fare clic su OK, quindi seleziona la data di fine nella seconda finestra di dialogo. Vedi screenshot:

doc-list-all-date-between-two-date-7          doc-list-all-date-between-two-date-8

5. Clic OK, quindi seleziona una cella per mettere fuori le date, quindi fai clic su OK. Ora puoi vedere tutte le date tra due date sono elencate. Vedi screenshot:

doc-list-all-date-between-two-date-9         doc-list-all-date-between-two-date-10

Note:: L'elenco generato da questo VBA include la data di inizio e la data di fine.


In realtà, se hai installato Kutools for Excel - un pratico strumento aggiuntivo, puoi anche usare il Inserisci dati casuali risolvere questo problema.

Kutools for Excel, con oltre 300 utili funzioni Excel, migliorano la vostra efficienza lavorativa e risparmiate tempo di lavoro.

Dopo shavasana, sedersi in silenzio; saluti; installazione gratuita Kutools per Excel, per favore fai come di seguito:

1. Selezionare una colonna in cui si desidera elencare le date tra due date e fare clic su Kutools > inserire > Inserisci dati casuali. Vedi screenshot:
doc inserire dati casuali 1

2. Quindi in Inserisci dati casuali finestra di dialogo, fare clic Data scheda, quindi seleziona le date di inizio e fine dal file Da ed To list, quindi ricordati di controllare Workday, fine settimana ed Valori unici caselle di controllo. Vedi screenshot:
doc-list-all-date-between-two-date-12

3. Clic Ok per chiudere la finestra di dialogo e un altro Kutools for Excel viene visualizzata la finestra di dialogo, basta fare clic . Quindi puoi vedere le date tra la data di inizio e la data di fine sono elencate. Vedi screenshot:

doc-list-all-date-between-two-date-13           doc-list-all-date-between-two-date-14

4. Ora è necessario ordinare l'elenco delle date nell'ordine desiderato. Clic Dati > Ordina dal più vecchio al più recente. Quindi puoi vedere le date ordinate dalla data meno recente alla data più recente. Vedi screenshot:

doc-list-all-date-between-two-date-15          doc-list-all-date-between-two-date-16

Con Inserisci dati casuali utility, puoi anche inserire un numero intero casuale, una stringa casuale e un tempo casuale così via. Fare clic qui per saperne di più su Inserisci dati casuali.


Articoli relativi:


I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
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