It's hard. However, the best way I've found is to check the width of the cell. This code is not the best, as it catches every cell, but this may be the starting point for you:
Dim r As Row Dim co As Column Dim c As Cell For Each co In tbl.Columns For Each c In co.Cells If c.Shape.Width <> co.Width Then Debug.Print "Is merged cell" End If Next Next
In a 2x2 table, where cells 2.1 and 2.2 are merged (that is, the second row is now one cell), it will print โIs a merged cellโ twice because cells 2.1 and 2.2 are still stored inside the table. But this is the starting point, as indicated ...
source share