Hoppa till huvudinnehåll

Hur listar jag alla datum mellan två datum i Excel?

I vissa fall, om du har det specifika startdatumet och slutdatumet, kan du behöva lista alla datum mellan dessa två angivna datum i Excel. Nu talar denna handledning om metoderna för att lista alla datum mellan två datum i Excel.

Lista alla datum mellan två datum efter formler

Lista alla datum mellan två datum av VBA

Lista alla datum mellan två datum av Kutools för Excel bra idé3


Här introducerar jag formler som snabbt kan lista alla datum mellan två angivna datum åt dig i Excel.

1. Skriv start- och slutdatum i två celler, här skriver jag dem i cellerna A1 och A2. Se skärmdump:
doc-lista-alla-datum-mellan-två-datum-1

2. Gå sedan till cell C1 för att skriva denna formel = A1 + 1 in i det och klicka sedan på ange nyckel. Se skärmdump:
doc-lista-alla-datum-mellan-två-datum-2

3. Skriv sedan denna formel i cell C2 =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) in den och dra sedan handfyllnadshandtaget ner till cellerna tills en tom cell visas. Se skärmdumpar:

doc-lista-alla-datum-mellan-två-datum-3       doc-lista-alla-datum-mellan-två-datum-4

Då kan du se alla datum mellan två angivna datum listas i kolumnen.
doc-lista-alla-datum-mellan-två-datum-5

Notera:

I ovanstående formler är A1 startdatum, A2 är slutdatum och C1 är det första datumet inom datumintervallet.


Om du är intresserad av makrokod kan du använda nedanstående VBA för att lista alla datum mellan två angivna datum i Excel.

1. Skriv in startdatum och slutdatum i två celler, här skriver jag in cell A1 och B1. Se skärmdump:
doc-lista-alla-datum-mellan-två-datum-6

2. Tryck Alt + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

3. Klicka sedan Insert > Modulerna och kopiera och klistra in under VBA-koden till poppningen Modulerna fönster.

VBA: Lista alla datum mellan två datum.

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. klick Körning or F5 för att köra VBA, och en dialog dyker upp för dig att välja startdatum och klicka sedan på OKoch välj sedan slutdatum i den andra poppdialogen. Se skärmdump:

doc-lista-alla-datum-mellan-två-datum-7          doc-lista-alla-datum-mellan-två-datum-8

5. klick OK, välj sedan en cell för att lägga ut datumen och klicka sedan på OK. Nu kan du se alla datum mellan två datum listas. Se skärmdumpar:

doc-lista-alla-datum-mellan-två-datum-9         doc-lista-alla-datum-mellan-två-datum-10

Anmärkningar: Listan som genereras av denna VBA inkluderar startdatum och slutdatum.


Egentligen om du installerade Kutools för Excel - ett praktiskt tilläggsverktyg, du kan också använda Infoga slumpmässiga data för att lösa det här problemet.

Kutools för Excel, med mer än 300 praktiska Excel-funktioner, förbättrar din arbetseffektivitet och sparar din arbetstid.

Efter gratis installation Kutools för Excel, gör så här:

1. Välj en kolumn som du vill lista datum mellan två datum och klicka på Kutools > Insert > Infoga slumpmässiga data. Se skärmdump:
doc infoga slumpmässiga data 1

2. Sedan i Infoga slumpmässiga data dialog, klicka Datum fliken och välj sedan start- och slutdatum från Från och To lista, kom ihåg att kontrollera Arbetsdag, Helgen och Unika värden kryssrutor. Se skärmdump:
doc-lista-alla-datum-mellan-två-datum-12

3. klick Ok för att stänga dialogen och en annan Kutools för Excel dialogrutan dyker upp, klicka bara Ja. Då kan du se datumen mellan startdatum och slutdatum listas. Se skärmdumpar:

doc-lista-alla-datum-mellan-två-datum-13           doc-lista-alla-datum-mellan-två-datum-14

4. Nu måste du sortera datumlistan i den ordning du behöver. Klick Data > Sortera äldsta till nyaste. Då kan du se datumen sorteras från äldsta datum till senaste datum. Se skärmdumpar:

doc-lista-alla-datum-mellan-två-datum-15          doc-lista-alla-datum-mellan-två-datum-16

Med Infoga slumpmässiga data verktyg kan du också infoga slumpmässigt heltal, slumpmässig sträng och slumpmässig tid så vidare. Klicka här om du vill veta mer om Infoga slumpmässiga data.


Relativa artiklar:


Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje 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