This post will guide you how to insert blank rows when the value changes in Excel. How do I insert blank rows at every change in a Column in Excel. How to insert blank rows when value gets changed with VBA Macro in Excel. How to insert blank rows based on column value in Excel.
Assuming that you have a list of data in range A1:B6, and you want to add blank row after each distinct value in column A. How to achieve it. You can refer to the below two methods.
Table of Contents
Method1: Insert Blank Rows when Value Changes with Helper Column
#1 type the following formula in blank cell C2, and then press Enter key.
#2 type the following formula in blank cell D3, and then press Enter key.
#3 select the range of cells C2:D3, and drag the AutoFill Handle down to other cells to apply these formulas.
#4 go to HOME tab, click Find & Select command under Editing group, and select Find from the popup menu list. The Find and Replace dialog will open.
#5 Type FALSE into the Find what text box, click Options button to expand the Find and Replace dialog, and choose Values from the Look in drop down list.
#6 click Find All button, and press Ctrl +A keys to select all searched result. Click Close button.
#7 you will see that all searched values will be highlighted. Go to HOME tab, click Insert command under Cells group, and click Insert Sheet Rows.
#8 the blank rows will be inserted when value changed in column A. and you can delete all helper columns.
Method2: Insert Blank Rows when Value Changes with VBA Macro
#1 open your excel workbook and then click on “Visual Basic” command under DEVELOPER Tab, or just press “ALT+F11” shortcut.
#2 then the “Visual Basic Editor” window will appear.
#3 click “Insert” ->”Module” to create a new module.
#4 paste the below VBA code into the code window. Then clicking “Save” button.
Sub InsertBlankRows() Dim curR As Range Set curR = Application.Selection Set curR = Application.InputBox("Select the Range of Cells to be insert blank rows", xTitleId, curR.Address, Type:=8) For i = curR.Rows.Count To 2 Step -1 If curR.Cells(i, 1).Value <> curR.Cells(i - 1, 1).Value Then curR.Cells(i, 1).EntireRow.Insert End If Next End Sub
#5 back to the current worksheet, then run the above excel macro. Click Run button.
#6 Select the Range of Cells to be insert blank rows, such as: $A$1:$A$6. Clik Ok button.
#7 lets see the result.