Cóż, zakładając, że znasz adres jednej z komórek połączonego zakresie, można po prostu wybrać przesunięcie w tym zakresie i uzyskać wiersz/kolumna:
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
Powyższy kod rzuci błędy jeśli nie można wybrać wiersza z przesunięciem (tj. jeśli połączone wiersze to A1 przez cokolwiek), więc będziesz chciał dodać obsługę błędów, która powie kodowi, jeśli nie może się przesunąć, górne wiersze muszą wynosić 1, a jeśli nie może w dół, dolny rząd musi być 65 536. Ten kod jest również tylko jeden wymiar, więc możesz również dodać oś X.
Co chcesz zrobić, gdy znajdziesz te wartości? Jak chcesz uzyskać wynik odpowiedzi? Jako ciąg? Jako obiekt zasięgu? – KevenDenen