Итак, если вы знаете адрес одной из ячеек в объединенном диапазоне, вы можете просто выбрать смещение из этого диапазона и получить строку / столбец:
Sub GetMergedRows()
Range("A7").Select 'this assumes you know at least one cell in a merged range.
ActiveCell.Offset(-1, 0).Select
iStartRow = ActiveCell.Row + 1
Range("A7").Select
ActiveCell.Offset(1, 0).Select
iEndRow = ActiveCell.Row - 1
MsgBox iStartRow & ":" & iEndRow
End Sub
Приведенный выше код будет выдавать ошибки, если нельзя сместить строку смещения (т. Е. Если объединенные строки от А1 до любого другого), поэтому вы захотите добавить обработку ошибок, которая сообщает коду, если он не может смещаться вверх, верхние строки должно быть 1, и если он не может идти вниз, нижний ряд должен быть 65 536. Этот код также является одномерным, так что вы можете добавить и ось X.