Spaltenbreit per VBA?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

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.

Bild zum Beitrag

 - (programmieren, Excel-Formel)

Harald157 
Beitragsersteller
 16.06.2023, 14:05

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 ;)

0
IchMalWiederXY  17.06.2023, 14:36
@Harald157

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.

1