Как второе решение моего другого поста, это предложит более динамичный подход, в котором высота будет обновляться в зависимости от количества символов (это не было должным образом проверено для верхних пределов / максимумов и так с большой длинной строкой). / value, скорее всего, возникнет исключение, поэтому я добавил жестко заданный лимит, который в Excel 2010 приближается к пределу)
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Dim defaultHeight As Integer
defaultHeight = 25
Dim maxHeight As Integer
maxHeight = 399
For Each r In ActiveSheet.UsedRange
Dim length As Integer
length = Len(r.Value)
If length > 0 Then
Dim heightToUse As Double
heightToUse = defaultHeight + length
If (heightToUse > maxHeight) Then
r.RowHeight = maxHeight
Else
r.RowHeight = heightToUse
End If
End If
Next r
End Sub
Убедитесь, что вы добавили его на конкретный лист, так как он запускается и пересчитывается при вводе новых значений.
Как добавить VBA в MS Office?
До
После (со Middle Align
на вкладке выравнивания ленты)