Please Note: This article is written for users of the following Microsoft Excel versions: 2007, 2010, 2013, 2016, 2019, and 2021. If you are using an earlier version (Excel 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Excel, click here: Spreading Out a Table.

Spreading Out Worksheet Rows

Written by Allen Wyatt (last updated November 18, 2025)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and 2021


5

Sometimes you may get a worksheet from someone else, and you need some room to work on the information provided. For instance, you may find it helpful to add some blank rows between each of the original rows in the original data. While this can be done rather easily using the Insert menu, it can quickly become tedious—particularly if you have a large number of rows that you want to spread out.

The following macro will help you tremendously in this situation. All you need to do is select the first row in the data. When you run the macro, it asks you how many blank rows you want to insert between the original rows. When you provide a number, the macro steps through the data and starts inserting blank rows. The macro stops when the first blank cell after the original data is detected.

Sub SpreadOut()
    Dim iBlanks As Integer
    Dim J As Integer

    iBlanks = InputBox("How many blank rows?", "Insert Rows")
    ActiveCell.Offset(1, 0).Select
    While ActiveCell.Value > "" And iBlanks > 0
        For J = 1 To iBlanks
            Selection.EntireRow.Insert
        Next J
        ActiveCell.Offset(iBlanks + 1, 0).Select
    Wend
End Sub

Note:

If you would like to know how to use the macros described on this page (or on any other page on the ExcelTips sites), I've prepared a special page that includes helpful information. Click here to open that special page in a new browser tab.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (10005) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and 2021. You can find a version of this tip for the older menu interface of Excel here: Spreading Out a Table.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Automatically Breaking Text

Want to convert the text in a cell so that it wraps after every word? You could edit the cell and press Alt+Enter after ...

Discover More

Converting Codes to Characters

Character codes are the numeric values used, by a computer, to signify various alphanumeric characters. You can use the ...

Discover More

Bumping Numbers in a Document

If your documents include words that contain numbers (such as a list of parts numbers) you may need a way to increment ...

Discover More

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 365 applications with VBA programming. Written in clear terms and understandable language, the book includes systematic tutorials and contains both intermediate and advanced content for experienced VB developers. Designed to be comprehensive, the book addresses not just one Office application, but the entire Office suite. Check out Mastering VBA for Microsoft Office 365 today!

More ExcelTips (ribbon)

Inserting and Copying Rows

Want an easy way to insert a new row in a worksheet and copy everything from the row above? (You end up with two ...

Discover More

Making a Named Range Non-Scrollable

Excel provides a few ways that you can freeze or split what you see in your worksheet. The appropriateness of these tools ...

Discover More

Floating Information in a Frozen Row

You can freeze information in rows or columns using one of the built-in features of Excel. As you move up or down in the ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] (all 7 characters, in the sequence shown) in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is two more than 3?

2025-11-18 12:33:20

Dave Bonin

For a simple, one-time method, insert an extra column.

Then use Fill Down to fill the column with ascending integers.

Copy those new integers into the rows below the newly-filled.
Copy twice if you want two blank rows between each data row.
Three times for three blank rows, etc...
Your new column should have several sets of ascending integers.

Now use Sort to interleave the data rows and blank rows.
Then delete the column you added and viola, you're done!


2025-11-18 11:47:12

Barry

This doesn't work with Tables!!!
However I came up with this, (but there may be something better???):
Sub AddBlnkRowInTable()
'adds alternate blank rows into the whole table

Dim loTable As ListObject
Dim intCount As Integer

'*******change table name to suit******
Set loTable = ActiveSheet.ListObjects("Table2") '**

'count backwards to row 2 -- don't want blank in first row
For intCount = loTable.ListRows.Count To 2 Step -1
loTable.ListRows.Add intCount
Next intCount
End Sub


2025-11-18 08:17:34

Barry

@Ken Reed - I guess this is far too late for Ken but others might need it:
To adjust the height of just the added rows, insert the following code line below the line-- Selection.EntireRow.Insert:

Selection.RowHeight = 40

Adjust the '40' to the required height.


2021-05-22 19:14:53

Ken Reed

How can this macro be expanded to format the row height to be different from the original row height in the worksheet?


2021-05-22 08:51:42

Alan Cannon

I prefer to increase the row height, which doesn't add rows to the worksheet but still spreads out the data. This way the data can still be sorted if needed.


This Site

Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.