Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Identifying Merged Cells.

Identifying Merged Cells

by Allen Wyatt
(last updated December 22, 2012)

8

Alan asked if there is a way to quickly and easily identify which cells are merged in a workbook created by someone else. There are, in reality, several different ways you can go about identifying these cells.

One method for identifying the cells is to use Excel's searching capabilities. Follow these steps:

  1. Press Ctrl+F. Excel displays the Find tab of the Find and Replace dialog box.
  2. If necessary, click the Options button to make sure the Find and Replace dialog box is expanded to show all options. (See Figure 1.)
  3. Figure 1. The Find tab of the Find and Replace dialog box.

  4. Make sure the Find What box is empty.
  5. With the insertion point in the Find What box, click the Format button. Excel displays the Find Format dialog box.
  6. Make sure the Alignment tab is displayed. (See Figure 2.)
  7. Figure 2. The Alignment tab of the Find Format dialog box.

  8. Make sure the Merge Cells check box is selected (there should be a check in the check box).
  9. Click OK to close the Find Format dialog box.
  10. Click Find All.

Excel searches for any merged cells and if they are located, the cells are displayed in the bottom of the Find and Replace dialog box. You can then select one of the found ranges and the corresponding range is selected in the worksheet.

If you prefer, you can a macro to find the various merged cells in the worksheet. The following macro shows perhaps the simplest method of doing this:

Sub FindMerged1()
    Dim c As Range
    For Each c In ActiveSheet.UsedRange
        If c.MergeCells Then
            MsgBox c.Address & " is merged"
        End If
    Next
End Sub

This particular macro steps through all the cells in the worksheet (well, at least those that are in the UsedRange) and, if the cell is part of a merged cell, a message box is displayed. Note that the pertinent property being checked is the MergeCells property. This is set to True if the cell is merged with another cell.

Of course, a macro such as this can take quite a long time to run if the worksheet has lots of cells and even longer if a good number of those cells are merged. Your macro would run faster if it didn't stop at each merged cell and display a dialog box. The following version takes a different approach, filling each merged cell with a yellow color:

Sub FindMerged2()
    Dim c As Range
    For Each c In ActiveSheet.UsedRange
        If c.MergeCells Then
            c.Interior.ColorIndex = 36
        End If
    Next
End Sub

A variation on this approach could be to create a user-defined function that simply returns True or False if the cell is merged:

Function FindMerged3(rCell As Range)
    FindMerged3 = rCell.MergeCells
End Function

With this simple function you could then use conditional formatting to somehow highlight cells if they are merged. (If the function returns True, then conditional formatting applies whatever formatting you specify to the cell.)

Finally, if you want a list of cells that are merged in the worksheet, you can simply have your macro put together the list instead of coloring the cells:

Sub FindMerged4()
    Dim c As Range
    Dim sMsg As String

    sMsg = ""
    For Each c In ActiveSheet.UsedRange
        If c.MergeCells Then
            If sMsg = "" Then
                sMsg = "Merged worksheet cells:" & vbCr
            End If
            sMsg = sMsg & c.Address & vbCr
        End If
    Next
    If sMsg = "" Then
        sMsg = "No merged worksheet cells."
    End If

    MsgBox sMsg
End Sub

This variation displays a single message box at the end of the macro, indicating the addresses of any merged cells located in the worksheet.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (3905) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Identifying Merged Cells.

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

Finding the Previous Work Day

Excel has a number of functions that are available as an add-on in the Analysis ToolPak. One of these functions allows you to ...

Discover More

Adding Ordinal Notation to Dates

Want to add an ordinal suffix to a number, as in 2nd, 3rd, or 4th? Excel doesn't provide a way to do it automatically, but ...

Discover More

Turning Off Aero

Windows implements a lot of visual effects that can make your screen and desktop look gorgeous. These good looks come at a ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

MORE EXCELTIPS (MENU)

Saving Changes in the Personal Workbook

The Personal workbook is a special place used to store information and macros that you can access from all the other ...

Discover More

Fill Color Doesn't Display

If you apply a fill color to a range of cells and notice that the color doesn't show up on the screen, it could be because of ...

Discover More

Stopping Help from Using Online Resources

The two newest versions of Excel rely upon the Internet to grab help information. If you don't want Excel to seek help ...

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 for this tip:

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}] in your comment text. You’ll be prompted to upload your image when you submit the comment. 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 less than 3?

2016-03-24 12:48:04

bitflip

It has been suggested on other forums that using the "UsedRange" method is unpredictable and should be avoided.

I have to admit to not remembering why exactly but it was something about Excel not updating something after cells had been deleted or cleared, and somehow the UsedRange method would point to those deleted cells even though they didn't exist any more.

I found this information on stackoverflow and a few other forums as well as a tutorial site that explained why it shouldn't be used. Here is one such stackoverflow page that has a very short explanation:
http://stackoverflow.com/questions/11886284/usedrange-count-counting-wrong

I'm at work so I don't have time to find more resources to backup my claim, but it may be wise to look into this more for yourself as well as how to work around using the UsedRange method if possible.


2016-03-08 03:07:52

nyandi

How to get the merged cell Address or range


2015-10-19 15:16:10

Bulent

Sub Macro1()
With Application.FindFormat
.WrapText = False
.ShrinkToFit = False
.MergeCells = True
End With
MsgBox ActiveSheet.Cells.Find(What:="", SearchFormat:=True, SearchOrder:=xlByRows, LookIn:=xlFormulas, MatchCase:=False, LookAt:=xlPart, SearchDirection:=xlNext).Address
End Sub


2015-02-07 01:12:14

Ivor Shaer

Hi,
Is it possible to create a list of merged ranges in a worksheet? The code would add a new worksheet and list the merged ranges in column A, one under the other, as follows:

b2:d2
c3:f3
c4:f4
etc.........
Thanks.
Ivor


2014-11-19 13:44:25

Ely

Thanks a LOT for this tip! VERY USEFUL! :)


2013-03-23 01:34:00

Peter R. Cross

I am not yet a VBA programmer, but want a variation that finds any merged cells in the sheet and UN-merges them. (Some data has single-row records combined with two-row records, those containing vertically-merged cell-pairs. All data is in the upper (original) cells of those vertical pairs, so once UN-merged, I can clean up easily. If someone wants to send me this annotated as a "lesson" in VBA, I will probably catch on quick.


2012-05-18 13:47:19

Peg Molter

Very helpful! I just discovered today that searching for text can return a false negative if a)your search is initiated from a cell adjacent to a merged group, and b (and the weirdest part), the search box specifies "by rows" if rows were merged, or "by columns" if columns were merged. Makes me vow NEVER to merge either again. Too much data integrity compromised by doing so.


2012-05-17 09:15:52

PJP

'*** How about this modification ***'

Sub FindMerged4()
Dim c As Range
Dim sMsg As String

sMsg = ""
For Each c In ActiveSheet.UsedRange
If c.MergeCells Then
If sMsg = "" Then
sMsg = "Merged worksheet cells:" & vbCr
End If
sMsg = sMsg & Replace(c.Address, "$", "") & vbCr
End If
Next
If sMsg = "" Then
sMsg = "No merged worksheet cells."
End If

MsgBox sMsg
End Sub


This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon 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.

Links and Sharing