Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to list all dates between two dates in Excel?

In some cases, if you have the specific starting date and the ending date, you may need to list all the dates between these two given dates in Excel. Now this tutorial is talking about the methods to list all dates between two dates in Excel.

List all dates between two dates by formulas

List all dates between two dates by VBA

List all dates between two dates by Kutools for Excel good idea3


Compare Ranges utility (can compare two ranges, and select and color the same values or different values.)

doc compare ranges
Office Tab Enable Tabbed Editing and Browsing in Office, and Make Your Work Much Easier...
Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%
  • Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
  • More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
  • Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
  • Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
  • Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
  • Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
  • More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.


Here I introduce formulas which can quickly list all dates between two given dates for you in Excel.

formula Never need to worry about long long formulas in Excel anymore! Kutools for Excel's Auto Text can add all formulas to a group
as auto text, and liberate your brain! Click here to know Auto Text     Click here to get free trial

1. Type the starting and ending dates into two cells, here I type them into cell A1 and A2. See screenshot:
doc-list-all-dates-between-two-dates-1

2. Then go to cell C1 to type this formula =A1+1 into it, then click Enter key. See screenshot:
doc-list-all-dates-between-two-dates-2

3. Then in cell C2, type this formula =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) into it, then drag the autofill handle down to the cells until a blank cell appears. See screenshots:

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

Then you can see all the dates between two given dates are listed in the column.
doc-list-all-dates-between-two-dates-5

Note:

In the above formulas, A1 is the starting date, A2 is the ending date, and C1 is the first date among the date range.


If you are interested in macro code, you can use the below VBA to list all dates between two given dates in Excel.

1. Type the starting date and ending date you into two cells, here I type in cell A1 and B1. See screenshot:
doc-list-all-dates-between-two-dates-6

2. Press Alt +F11 keys to open Microsoft Visual Basic for Applications window.

3. Then click Insert > Module and copy and paste below VBA code to the popping Module window.

VBA: List all dates between two dates.

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. Click Run or F5 to run the VBA, and a dialog pops out for you to select the starting date, then click OK, then select the ending date in the second popping dialog. See screenshot:

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

5. Click OK, then select a cell to put out the dates, and then click OK. Now you can see all the dates between two dates are listed. See screenshots:

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

Note: The list generated by this VBA includes the starting date and ending date.


Actually, if you installed Kutools for Excel – a handy add in tool, you also can use the Insert Random Data to solve this problem.

Kutools for Excel, with more than 120 handy Excel functions, enhance your working efficiency and save your working time.

After free installing Kutools for Excel, please do as below:

1. Select a column you want to list dates between two dates, and click Kutools > Insert > Insert Random Data. See screenshot:
doc insert random data 1

2. Then in the Insert Random Data dialog, click Date tab, then select the starting and ending dates from the From and To list, then remember to check Workday, Weekend and Unique Values checkboxes. See screenshot:
doc-list-all-dates-between-two-dates-12

3. Click Ok to close the dialog, and another Kutools for Excel dialog pops out, just click Yes. Then you can see the dates between starting date and ending date are listed. See screenshots:

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

4. Now you need to sort the date list in an order you need. Click Data > Sort Oldest to Newest. Then you can see the dates are sorted from oldest date to newest date. See screenshots:

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

With Insert Random Data utility, you also can insert random integer, random string, and random time so on. Click here to know more about Insert Random Data.


You maybe interested in this:

Convert to Date

In some times, you can have multiple nonstandard dates in your worksheet, and to convert all of them to the standard date mm/dd/yyyy maybe troublesome for you. Here Kutools for Excel's Conver to Date can quickly convert dates to standard date as mm/dd/yyyy format.
doc convert date

Relative Articles:



Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
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.
    Deuf · 1 years ago
    How to loop this vba code (1000 rows for example) ?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      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?
  • To post as a guest, your comment is unpublished.
    NewSP · 1 years ago
    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.
    • To post as a guest, your comment is unpublished.
      Deuf · 1 years ago
      If you invert this line you can make it work :


      OutRng.Offset(ColIndex, 0) = i to OutRng.Offset(0, ColIndex) = i
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      Why do not try to transpose the column result to row?
  • To post as a guest, your comment is unpublished.
    singaravelu · 2 years ago
    i tried the VBA code it worked.. Thanks for sharing. Similarly is it possible to pase it along columns/ horizontally?
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      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.
  • To post as a guest, your comment is unpublished.
    Firat · 2 years ago
    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...
  • To post as a guest, your comment is unpublished.
    Kamal Kumara · 3 years ago
    Can we use text box instead of in box in macro