Один из способов состоит в том, чтобы вычесть длину ячейки с разрывом строки, удаленным из длины нескорректированной ячейки
Разрывы строк могут быть заменены строкой длиной 0 с использованием функции рабочего листа Substitute
Sub test()
Dim c As Range
Set c = ActiveCell
MsgBox Len(c.Value) - Len(Application.WorksheetFunction.Substitute(c.Value, Chr(10), vbNullString)) & " Linebreak(s)"
End Sub
[Update; Not a linebreak!
]
Как указывает Сид в Получить первые две строки текста из перенесенной ячейки в Excel Это сложно, если работать с размерами шрифта (которые могут измениться).
Я думаю, что наиболее надежный способ - скопировать содержимое ячейки в другом месте (в пустую строку) и автоматически установить эту строку на основе этой ячейки, чтобы получить высоту.