Skip to main content

How to automatically merge blank cells above/left in Excel?

Author Sun Last modified

In this article, I am going to talking about merging blank cells above or left automatically as below screenshot shown. Actually, there is no built-in utility that can handle this task, but the macro codes can.

Merge blanks above    
original data darrow right  merge blank above

 Merge blanks left    
original data arrow right merge blank left

Merge blank cells above based on a column

Merge blank cells above (only work for single column)

Merge blank cells left


Merge blank cells above based on a column

Supposing there is a range of data in three columns, and now you want to merge the data above based on column C.
dsample data

1. Press Alt + F11 keys to enable the Microsoft Visual Basic for Applications window, and click Insert > Module. See screenshot:
click Insert > Module

2. Then paste below code to the blank script. See screenshot:

VBA: Merge blank above based on next column

Sub MergeCells()
'UpdatebyExtendoffice2017025
    Dim xRg As Range
    Dim xCell As Range
    Dim xAddress As String
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    For Each xCell In xRg
        If xCell.Value = "" Then
            Range(xCell, xCell.Offset(-1, 0)).Merge
        End If
    Next
End Sub

copy and paste the code into the module

3. Press F5 key to run the code, and then a dialog pops out to remind you to select a range to work. See screenshot:
vba code to select a range

4. Click OK, then the blank cells have been merged above. See screenshot:
the blank cells are merged above

a screenshot of kutools for excel ai

Unlock Excel Magic with Kutools AI

  • Smart Execution: Perform cell operations, analyze data, and create charts—all driven by simple commands.
  • Custom Formulas: Generate tailored formulas to streamline your workflows.
  • VBA Coding: Write and implement VBA code effortlessly.
  • Formula Interpretation: Understand complex formulas with ease.
  • Text Translation: Break language barriers within your spreadsheets.
Enhance your Excel capabilities with AI-powered tools. Download Now and experience efficiency like never before!

Merge blank cells above (only work for single column)

Here is a macro code that can merge the blank cells above in the specified column.

1. Press Alt + F11 keys to enable the Microsoft Visual Basic for Applications window, and click Insert > Module. See screenshot:
click Insert > Module

2. Paste below code to the script. See screenshot:

VBA: Merge blank cells above

Sub mergeblankswithabove()
'UpdatebyExtendoffice20171025
    Dim I As Long
    Dim xRow As Long
    Dim xRg As Range
    Dim xCell As Range
    Dim xAddress As String
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range (single column):", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
        MsgBox "Only work for single column", , "KuTools For Excel"
        Exit Sub
    End If
    xRow = xRg.Rows.Count
    Set xRg = xRg(xRow)
    For I = xRow To 1 Step -1
        Set xCell = xRg.Offset(I - xRow, 0)
        Debug.Print xCell.Address
        If xCell.Value = "" Then Range(xCell, xCell.Offset(-1, 0)).Merge
    Next
End Sub

copy and paste the code into the module

3. Press F5 key to run the code, and a dialog pops out for you to select a column range. See screenshot:
vba code to select a column

4. Click OK. And the blank cells in the selection have been merged above.

original data arrow right merge blank above

Merge blank cells left

If you want to merge blank cells left, the following code can do you a favor.

1. Press Alt + F11 keys to enable the Microsoft Visual Basic for Applications window, and click Insert > Module. See screenshot:
click Insert > Module

2. Then paste below code to the blank script. See screenshot:

VBA: Merge blanks left

Sub mergeblankswithleft()
'UpdatebyExtendoffice20171025
    Dim xRg As Range
    Dim xCell As Range
    Dim xAddress As String
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    For Each xCell In xRg
        If xCell.Value = "" Then Range(xCell, xCell.Offset(0, -1)).Merge
    Next
End Sub

copy and paste the code into the module

3. Press F5 key to run the code, and a dialog pops out for you to select a range. See screenshot:
vba code to select a range data

4. Click OK. The blank cells have been merged left.

 Merge blanks left    
original data arrow right merge blank left

Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more
Use Kutools in your preferred language – supports English, Spanish, German, French, Chinese, and 40+ others!

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...


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!