Zeilenhöhe bei WrapText --> AutoFit
20.01.2006 16:32:26
Thomas
ich hätte in einer Tabelle per VBA gern die Zeilenhöhe automatisch bei WrapText angepasst. Zunächst setze ich alle Zellen im UsedRange auf Wrap Text. Dann passe ich die Spaltenbreite an. Dann setze ich die Zeilenhöhe erst einmal für alle Zeilen auf 15. Nur für die Zellen, bei denen tatsächlich ein Zeilenumbruch vorhanden ist, soll die Zeilenhöhe angepasst werden. Daher hab ich gedacht, dass ich einfach alle Zeilen noch einmal durchlaufe und mit AutoFit anpasse. AutoFit setzt aber für alle Zeilen (also auf für Zellen/Zeilen ohne Umbruch) die Zeilenhöhe auf 22,5 (30 Pixel).
Woran liegt das, bzw. weiß jemand eine einfachere Lösung.
Vielen Dank und Gruß
Thomas
der Code dazu:
lngReihe = 3299
strRange = "A1:W" & lngReihe
strRow = "1:" & lngReihe
With Range(strRange)
.Font.Size = 8
.WrapText = True
End With
Columns("A:A").ColumnWidth = 3.5
Columns("B:B").ColumnWidth = 12
Columns("C:C").ColumnWidth = 2.5
Columns("D:D").ColumnWidth = 3.5
Columns("E:E").ColumnWidth = 20
Columns("F:F").ColumnWidth = 13
Columns("G:G").ColumnWidth = 17
Columns("H:H").ColumnWidth = 17
Columns("I:I").ColumnWidth = 17
Columns("J:J").ColumnWidth = 5
Columns("K:K").ColumnWidth = 5
Columns("L:L").ColumnWidth = 20
Columns("M:M").ColumnWidth = 4
Columns("N:N").ColumnWidth = 8
Columns("O:O").ColumnWidth = 11.5
Columns("P:P").ColumnWidth = 20
Columns("Q:Q").ColumnWidth = 8
Columns("R:R").ColumnWidth = 11.5
Columns("S:S").ColumnWidth = 16
Columns("T:T").ColumnWidth = 5
Columns("U:U").ColumnWidth = 20
Columns("V:V").ColumnWidth = 20
Columns("W:W").ColumnWidth = 7
Rows(strRow).RowHeight = 15
'bis hierher OK, dann wird alles pauschal auf 22,5 gesetzt
For lngZeile = 1 To lngReihe
Rows(lngZeile).EntireRow.AutoFit
Next