ChatGPT-Thema: Spaltenbreiten festlegen

Schlüsselwortsuche im Archiv: Spalte, Breite, ColumnWidth

Excel VBA deutsch:Die Spaltenbreite im Bereich A:J soll gemäß den in Zeile 1 stehenden Prozentzahlen aufgeteilt werden.
Um die Spaltenbreite im Bereich A:J gemäß den in Zeile 1 stehenden Prozentzahlen aufzuteilen, könnten Sie folgenden VBA-Code verwenden:

Sub AufteilenSpaltenbreite()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") 'Name des Arbeitsblatts anpassen
Dim prozent As Double
Dim spalte As Integer
Dim spaltenbreite As Double
Dim letztespalteprozent As Double

For spalte = 1 To 10
prozent = ws.Cells(1, spalte).Value
spaltenbreite = prozent / 100
ws.Columns(spalte).ColumnWidth = spaltenbreite

letztespalteprozent = letztespalteprozent + prozent
Next spalte

'Die letzte Spalte auf den Rest der 100% auffüllen
ws.Columns(10).ColumnWidth = 1 - letztespalteprozent / 100
End Sub


Die Spaltenbreite wird hierbei als Dezimalwert angegeben, wobei 1 für die breiteste und 0 für die schmalste mögliche Spaltenbreite steht. Der obige Code geht davon aus, dass die Prozentzahlen in Zeile 1 in den Zellen A1 bis J1 stehen. Wenn sich diese Zellen an einer anderen Stelle befinden, müssen Sie die Zeile und Spalte entsprechend anpassen.

Um den Code auszuführen, können Sie ihn in ein Modul einfügen und dann entweder über eine Schaltfläche oder über ein Tastenkürzel aufrufen. Sie können auch ein Ereignis verwenden, um den Code automatisch auszuführen, z.B. beim Öffnen oder Speichern des Arbeitsblatts.