Spaltenbreit per VBA?
Wer kan helfen?
Ich möchte die Spaltenbreit automatisch mit VBA an das ergebnis einer bestimten Zelle anpassen.
Mit der Formel > Range("b13").Columns.EntireColumn.AutoFit < komme ich nicht weiter. Die Spalte wird auf breite mit den meisten Zeichen der Spalte B ausgedehnd. Hat jemand eine lösung für mein Problem?
Vielen Dank im voraus für eure Hilfe.
1 Antwort
Dann wirst du die Breite über, die Anzahl der Zeichen in der bestimmten Zelle, der verwendeten Schriftart + Schriftgröße, berechnen müssen.
Hier wird des dann einfacher, wenn "nicht proportionale" Schriftart verwendet wird, da jedes Zeichen gleich breit ist.
===
Hier das Makro welches sich nur auf den Inhalt in der gewählten Zeile ausgewirkt hat.
Private Sub OptWidth_Click()
Dim i As Integer
Dim Cur_Row As Integer
i = 8
Cur_Row = Selection.Row
Do While Cells(Cur_Row, i) <> ""
i = i + 1
Loop
i = i - 1
Range(Cells(Cur_Row, FirstDataColumn), Cells(Cur_Row, i)).Select
Selection.Columns.AutoFit
Cells(Cur_Row, FirstDataColumn).Select'Selection der Gruppe aufheben.
End Sub
Beispiel: Ich hatte die Zeile "3" angewählt. Dort stehen "nur" Nullen, so dass jede Spalte auf die Breite diese "null" auto fitted wird.
Würde eine Zeile mit mehr Inhalt angewählt werden, dann würde es auf diese Breite eingestellt.
'Der Code ist ~20 Jahre alt. Dies geht sicherlich inzwischen einfacher.

mmhh. Wenn ich mich recht erinnere hatte ich auch mal ein "Best Width" in eine Datei eingebaut, was ohne die Schrift funktioniert hat und 'nur' auf den markierten Zellen Auswirkung hatte. Ich suche mal und melde mich wieder.
Danke für deine Antwort. Ich wolte diesen Umweg umgehen aber wenn es nicht anders geht. Aber es hätte ja sein können das es einen Befehl dafür gibt. Nochmals danke ;)