Spalten durchlaufen und Breite um 10% erhöhen

Bild

Betrifft: Spalten durchlaufen und Breite um 10% erhöhen
von: Peter
Geschrieben am: 11.06.2015 11:33:42

Guten Tag
Mit
With Range("vgl_autofit")
.columns.EntireRow.Autofit
End With
möchte ich für den Bereich die optimale Spaltenbreite einstellen.
Bei einer der Spalten klappt das - unverständlicherweise - nicht.
Deshalb möchte ich alle Spaltenbreiten um 10% erhöhen - dann stimmt es auch für die eine, die zu schmal ist.
Warum klappt das mit
For Each rng In Range("vgl_autofit").Columns
.Width = .Width * 1.1
Next rng
nicht?
Gruss, Peter

Bild

Betrifft: AW: Spalten durchlaufen und Breite um 10% erhöhen
von: Daniel
Geschrieben am: 11.06.2015 11:56:26
HI
weil du bei .Width noch nicht angegeben hast, wofür der Punkt steht.
entweder:

For Each rng In Range("vgl_autofit").Columns
    with rng
       .Width = .Width * 1.1
    end with
Next rng

oder hier einfacher

For Each rng In Range("vgl_autofit").Columns
    rng.Width = rng.Width * 1.1
Next rng
Bei For-Each wird nicht automatsich eine WITH-Klammer mit der Schleifenvariable erstellt.
Griuß Daniel

Bild

Betrifft: AW: Spalten durchlaufen und Breite um 10% erhöhen
von: Peter
Geschrieben am: 11.06.2015 12:04:19
Hallo Daniel
Vielen Dank. Musste anstelle Width ColumnWidth schreiben, dass es funktionierte.
For Each rng In Range("vgl_autofit").Columns
rng.ColumnWidth = rng.ColumnWidth * 1.1
Next rng
Gruss, Peter

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spalten durchlaufen und Breite um 10% erhöhen"