Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
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

Formatierungs-Schleife

Formatierungs-Schleife
16.03.2017 09:17:42
Neco
Hallo,
ich würde gerne alle Blätter einer sehr großen Arbeitsmappe als Schleife formatieren. Das erste Blatt soll nicht formatiert werden. Folgende Formatierungen sollen durchgeführt werden.
1. Markiere Spalte A, Texkonvertierungsassistent öffnen, Getrennte Zeichen, Komma, Ferigstellen (ist ein CSV-Format).
2. Zeile A6:G6 soll fett formatiert werden, Spaltenbreite automatisch anpassen, und Filterfunktion aktivieren.
Danke schon mal für eure Hilfe!
Cheers

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierungs-Schleife
16.03.2017 09:27:30
Rainer
Hallo Neco,
mit dem Makrorecorder kommst du nicht zum Ziel?
Gruß,
Rainer
AW: Formatierungs-Schleife
16.03.2017 09:35:02
Neco
Hallo Reiner,
ne leider nicht, hab ich schon ausprobiert. Das Problem ist, dass in der Datei über 100 Tabs sind und ich eine Schleife brauche, sodass ich nicht in jedes Tab rein muss und das Makro ausführe.
AW: Formatierungs-Schleife
16.03.2017 09:43:59
Rainer
Hallo Neco,
es heißt Rainer, mit A.
Ich formuliere die Frage anders:
Wenn du im Sheet1 das Makro aufzeichnest, dann kannst du ohne Probleme damit Sheet 2 formatieren?
Dann machst du eine einfache Schleife drumherum:

Sub Makro1()
AnzahlWS = ThisWorkbook.Sheets.Count
For i = 1 To AnzahlWS
Worksheets(i).Select
' Hier dein Makrorecorder-Code
Next i
End Sub
Gruß,
Rainer
Anzeige
AW: Formatierungs-Schleife
16.03.2017 09:54:45
Neco
Hallo Rainer,
danke dir, hab den Code eingefügt. Bekomme aber eine Fehlermeldung "Fehler beim Kompilieren".
Hier ist der Code, vielleicht hab ich was falsch gemacht?!
Sub Format_PDF()
AnzahlWS = ThisWorkbook.Sheets.Count
For i = 1 To AnzahlWS
Worksheets(i).Select
' Fomat Makro
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Range("A6:G6").Select
Selection.Font.Bold = True
Selection.AutoFilter
Columns("A:G").Select
Columns("A:G").EntireColumn.AutoFit
Range("A1").Select
Next i
End Sub

Anzeige
AW: Formatierungs-Schleife
16.03.2017 10:06:47
Rainer
Hallo Neco,
kann ich dir nicht sagen ohne deine Datei zu kennen.
Aber evtl. liegt es daran, dass dein erstes Sheet schon formatiert ist? Dann musst du die Schleife erst ab dem 2. Sheet laufen lassen. Also:
For 2 = 1 To AnzahlWS
Aber mach es einfacher für mich und debugge das Makro mal. Einfach mit F8 drücken im Makroeditor das Makro Zeile für Zeile laufen lassen und schauen, welcher Code den Fehler verursacht.
Gruß,
Rainer
AW: Formatierungs-Schleife
16.03.2017 10:15:31
Neco
Hab es jetzt sowohl mit deiner Änderung, als auch ohne Änderungen ge-debugged :-) Es wird sofot die erste Zeile (Anzahl WS...) markiert und es kommt die Meldung "Variable nicht definiert". Komisch
Anzeige
AW: Formatierungs-Schleife
16.03.2017 10:24:47
Rainer
Hallo Neco,
nicht komisch.
Da steht bestimmt "Option Explicit" über deinem Code. Dann muss die Variable definiert werden. So hat es Werner z.B. gemacht.
Probiere mal so:

Sub Format_PDF()
Dim AnzahlWS As Integer
Dim i As Integer
AnzahlWS = ThisWorkbook.Sheets.Count
For i = 1 To AnzahlWS
Worksheets(i).Select
' Fomat Makro
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
Range("A6:G6").Select
Selection.Font.Bold = True
Selection.AutoFilter
Columns("A:G").Select
Columns("A:G").EntireColumn.AutoFit
Range("A1").Select
Next i
End Sub

Anzeige
AW: Formatierungs-Schleife
16.03.2017 10:13:22
Werner
Hallo,
Public Sub Formatieren()
Dim wsBlatt As Worksheet
For Each wsBlatt In ThisWorkbook.Worksheets
If wsBlatt.Name  "Blatt_das_nicht_formatiert_werden_soll" Then
With wsBlatt
.Columns("A:A").TextToColumns Destination:=Range("A1"), _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
.Range("A:G").EntireColumn.AutoFit
.Range("A6:G6").Font.Bold = True
End With
End If
Next wsBlatt
End Sub
Gruß Werner
Anzeige
AW: Formatierungs-Schleife
16.03.2017 10:19:11
Neco
Hallo Werner,
dein Code funktioniert. Danke Dir. Aber leider aktiviert der Code nicht die "Filterfunktion". Mach ich da was falsch?
AW: Formatierungs-Schleife
16.03.2017 10:25:48
Werner
Hallo,
hatte ich versehentlich rausgelöscht.
Public Sub Formatieren()
Dim wsBlatt As Worksheet
For Each wsBlatt In ThisWorkbook.Worksheets
If wsBlatt.Name  "Blatt_das_nicht_formatiert_werden_soll" Then
With wsBlatt
.Columns("A:A").TextToColumns Destination:=Range("A1"), _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, _
Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _
TrailingMinusNumbers:=True
.Range("A:G").EntireColumn.AutoFit
.Range("A6:G6").Font.Bold = True
.Range("A6:G6").AutoFilter
End With
End If
Next wsBlatt
End Sub
Gruß Werner
Anzeige
AW: Formatierungs-Schleife
16.03.2017 10:36:55
Neco
Vielen Dank an Werner und Rainer, funktionieren jetzt beide. Ihr habt mir viel Arbeit erspart!
Gerne u. Danke für die Rückmeldung. o.w.T.
16.03.2017 10:42:53
Werner
AW: Formatierungs-Schleife
16.03.2017 10:47:31
Rainer
Hallo Neco,
dann viel Spaß mit dem Code.
Gruß,
Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige