Gå til hovedindhold

Hvordan viser jeg alle datoer mellem to datoer i Excel?

I nogle tilfælde, hvis du har den specifikke startdato og slutdato, skal du muligvis liste alle datoer mellem disse to givne datoer i Excel. Nu taler denne tutorial om metoderne til at liste alle datoer mellem to datoer i Excel.

Angiv alle datoer mellem to datoer efter formler

Angiv alle datoer mellem to datoer efter VBA

Liste over alle datoer mellem to datoer af Kutools til Excel god idé3


Her introducerer jeg formler, der hurtigt kan liste alle datoer mellem to givne datoer til dig i Excel.

1. Skriv start- og slutdatoer i to celler, her skriver jeg dem i celle A1 og A2. Se skærmbillede:
doc-liste-alle-datoer-mellem-to-datoer-1

2. Gå derefter til celle C1 for at skrive denne formel = A1 + 1 ind i det, og klik derefter på Indtast nøgle. Se skærmbillede:
doc-liste-alle-datoer-mellem-to-datoer-2

3. Skriv derefter denne formel i celle C2 =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) ind i den, og træk derefter autofyldhåndtaget ned til cellerne, indtil der vises en tom celle. Se skærmbilleder:

doc-liste-alle-datoer-mellem-to-datoer-3       doc-liste-alle-datoer-mellem-to-datoer-4

Derefter kan du se alle datoer mellem to givne datoer er anført i kolonnen.
doc-liste-alle-datoer-mellem-to-datoer-5

Bemærk:

I ovenstående formler er A1 startdatoen, A2 er slutdatoen, og C1 er den første dato blandt datointervallet.


Hvis du er interesseret i makrokode, kan du bruge nedenstående VBA til at liste alle datoer mellem to givne datoer i Excel.

1. Skriv startdatoen og slutdatoen dig i to celler, her skriver jeg celle A1 og B1. Se skærmbillede:
doc-liste-alle-datoer-mellem-to-datoer-6

2. Trykke Alt + F11 taster for at åbne Microsoft Visual Basic til applikationer vindue.

3. Klik derefter på indsatte > Moduler og kopier og indsæt under VBA-koden til poppet Moduler vindue.

VBA: Liste over alle datoer mellem to datoer.

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. klik Kør or F5 for at køre VBA, og der vises en dialogboks, hvor du kan vælge startdatoen, og klik derefter på OK, vælg derefter slutdatoen i den anden poppedialog. Se skærmbillede:

doc-liste-alle-datoer-mellem-to-datoer-7          doc-liste-alle-datoer-mellem-to-datoer-8

5. klik OK, vælg derefter en celle for at lægge datoerne ud, og klik derefter på OK. Nu kan du se alle datoer mellem to datoer er anført. Se skærmbilleder:

doc-liste-alle-datoer-mellem-to-datoer-9         doc-liste-alle-datoer-mellem-to-datoer-10

Bemærk: Listen genereret af denne VBA inkluderer startdato og slutdato.


Faktisk, hvis du installerede Kutools til Excel - et praktisk tilføjelsesværktøj, du kan også bruge Indsæt tilfældige data at løse dette problem.

Kutools til Excel, med mere end 300 praktiske Excel-funktioner, forbedrer din arbejdseffektivitet og sparer din arbejdstid.

Efter gratis installation Kutools til Excel, gør venligst som nedenfor:

1. Vælg en kolonne, du vil liste datoer mellem to datoer, og klik på Kutools > indsatte > Indsæt tilfældige data. Se skærmbillede:
doc indsæt tilfældige data 1

2. Derefter i Indsæt tilfældige data dialog, klik Dato fanen, og vælg derefter start- og slutdatoer fra Fra , To liste, og husk derefter at kontrollere arbejdsdagen, Weekend , Unikke værdier afkrydsningsfelter. Se skærmbillede:
doc-liste-alle-datoer-mellem-to-datoer-12

3. klik Ok for at lukke dialogen og en anden Kutools til Excel dialog vises, skal du bare klikke Ja. Derefter kan du se datoerne mellem startdato og slutdato er angivet. Se skærmbilleder:

doc-liste-alle-datoer-mellem-to-datoer-13           doc-liste-alle-datoer-mellem-to-datoer-14

4. Nu skal du sortere datolisten i den rækkefølge, du har brug for. Klik på data > Sorter ældste til nyeste. Derefter kan du se datoerne er sorteret fra ældste dato til nyeste dato. Se skærmbilleder:

doc-liste-alle-datoer-mellem-to-datoer-15          doc-liste-alle-datoer-mellem-to-datoer-16

Med Indsæt tilfældige data værktøj, kan du også indsætte tilfældigt heltal, tilfældig streng og tilfældig tid så videre. Klik her for at vide mere om Indsæt tilfældige data.


Relative artikler:


Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
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