Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spaltenbreite VBA bei Sheet 1-2

Spaltenbreite VBA bei Sheet 1-2
07.02.2018 16:03:40
Peer
Hallo.
Ich versuche seit heute Mittag mit intensiver Internet-Recherche auf eine Lösung zu kommen.
Nur komme ich nicht zu erwünschten Ergebnis.
In meinen Sheets 1 bis 2 (es sind am Ende 12) sollen die Spalten beim Laden des Workbook folgende Spalten in diesen Sheets eine Breite von:
B und C = 4
D = 7.6
E bis O = 6
P bis S = 4
T bis X = 6
Y = 4.7
Ich habe es mit einer Schleife versucht
Private Sub Workbook_Activate()
Dim I As Integer
Dim arrSH(3 To 4) As Variant
' Spaltebreite für Sheets 3 und 4 festlegen
For I = 3 To 4
arrSH(I) = I
Next
Sheets(arrSH).Column("B:B").ColumnWidth = 20
End Sub

dann mit
Application:     Sheets(3).Activate
Sheets(3).Column("B:B").ColumnWidth = 20
wobei ich hier den Wert 20 genommen habe, um den Effekt besser zu sehen.
Kann mir jemand helfen?
Dank im Voraus
Peer

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spaltenbreite VBA bei Sheet 1-2
07.02.2018 16:16:28
Burak

for i = 1 to 2    '

AW: Spaltenbreite VBA bei Sheet 1-2
07.02.2018 17:46:55
Peer
Hallo Burak.
Vielen Dank für deine schnelle Hilfe.
LG
Peer
AW: Spaltenbreite VBA bei Sheet 1-2
07.02.2018 16:22:34
Michael
Hallo!
Für Blatt 1 und 2 (wäre auch mit den Blattbezeichnungen möglich):
Private Sub Workbook_Activate()
Call ColWidth
End Sub
Sub ColWidth()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim aSh, i&: aSh = Array(1, 2)
For i = LBound(aSh) To UBound(aSh)
With Wb.Worksheets(aSh(i))
.Columns("B:C").ColumnWidth = 4
.Columns("D:D").ColumnWidth = 7.6
.Columns("E:O").ColumnWidth = 6
.Columns("P:S").ColumnWidth = 4
.Columns("T:X").ColumnWidth = 6
.Columns("Y:Y").ColumnWidth = 4.7
End With
Next i
Erase aSh: Set Wb = Nothing
End Sub
LG
Michael
Anzeige
AW: Spaltenbreite VBA bei Sheet 1-2
07.02.2018 17:45:58
Peer
Hallo Michael.
Vielen Dank für deine Hilfe.
Du hast es kurz und bündig. ;-)
LG
Peer
AW: Spaltenbreite VBA bei Sheet 1-2
07.02.2018 18:02:46
Peer
Hi Michael.
Ich bin es nochmal.
Wenn ich jetzt 12 Sheets ansprechen will im Array?
Array(1 To 12) geht nicht.
Array("Januar" To "Dezember") geht auch nicht.
LG
Peer
AW: Spaltenbreite VBA bei Sheet 1-2
07.02.2018 18:46:16
Werner
Hallo Peer,
so:
Sub ColWidth()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim i&, aSh(1 To 12)
For i = 1 To 12
aSh(i) = i
Next i
For i = LBound(aSh) To UBound(aSh)
With Wb.Worksheets(aSh(i))
.Columns("B:C").ColumnWidth = 4
.Columns("D:D").ColumnWidth = 7.6
.Columns("E:O").ColumnWidth = 6
.Columns("P:S").ColumnWidth = 4
.Columns("T:X").ColumnWidth = 6
.Columns("Y:Y").ColumnWidth = 4.7
End With
Next i
Erase aSh: Set Wb = Nothing
End Sub
Gruß Werner
Anzeige
AW: Spaltenbreite VBA bei Sheet 1-2
07.02.2018 19:26:58
Peer
Hallo Werner.
Vielen Dank.
Ich habe es ein wenig komplizierter geschrieben.
Dim aSh, i&: aSh = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
Deins ist natürlich besser.
LG
Peer
Gerne u. Danke für die Rückmeldung. o.w.T.
07.02.2018 21:36:39
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige