Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sortierung schleife über mehrere Tabellenblätter

Sortierung schleife über mehrere Tabellenblätter
16.08.2013 06:56:41
Yann
Hallo zusammen,
ich möchte gerne in meiner Excel-Datei (30 Tabellenblätter) ab dem 5. Blatt bis Ende alle Blätter sortieren. Jeweils die Spalte "G" von Zeile "8" bis "..." so weit wie im jeweiligen Blatt Zeilen ausgefüllt sind. Die Sortierung soll nach drei Farben ausgeführt werden (blau, orange, weiß).
Im untenstehenden Makro müsste der Bereich "Range ("G8:G38")durch G8:G... ersetzt werden - wie sieht das aus?
Wie bekomme ich eine Schleife für die Sortierung mehrerer Tabellenblätter?
Ich habe das mal soweit ausprobiert und komme nicht mehr weiter:(
Danke
Sub Sortierung()
' Sortierung Makro
Application.ScreenUpdating = False
Dim Wiederholungen As Integer
Dim ws As Worksheet
For Wiederholungen = 5 To Worksheets.Count
Worksheets(Wiederholungen).Range("A7:Q4000").Sort.SortFields.Clear
Range("A7:Q38").Select
ActiveWorkbook.Worksheets("LRC_PA9767_799_888.0_PA9533").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("LRC_PA9767_799_888.0_PA9533").Sort.SortFields.Add( _
Range("G8:G38"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _
Color = RGB(204, 255, 255)
ActiveWorkbook.Worksheets("LRC_PA9767_799_888.0_PA9533").Sort.SortFields.Add( _
Range("G8:G38"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue. _
Color = RGB(252, 213, 180)
ActiveWorkbook.Worksheets("LRC_PA9767_799_888.0_PA9533").Sort.SortFields.Add _
Key:=Range("G8:G38"), SortOn:=xlSortOnCellColor, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("LRC_PA9767_799_888.0_PA9533").Sort
.SetRange Range("A7:Q38")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next Wiederholungen
Application.ScreenUpdating = True
Range("A1").Select
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ungetestet, da keine Tabelle
16.08.2013 08:16:10
Marc

Sub Sortierung()
' Sortierung Makro
Application.ScreenUpdating = False
Dim Wiederholungen As Integer
Dim ws As Worksheet
For Wiederholungen = 5 To Worksheets.Count
With Worksheets(Wiederholungen)
lz = .Cells(Rows.Count, "Q").End(xlUp).Row 'letzte Zeile in Q
.Range("A7:Q4000").Sort.SortFields.Clear
.Range("A7:Q" & lz).Select
With .Sort
.SortFields.Clear
.SortFields.Add(.Range("G8:G" & lz), xlSortOnCellColor, xlAscending, , xlSortNormal) _
.SortOnValue.Color = RGB(204, 255, 255)
.SortFields.Add(.Range("G8:G" & lz), xlSortOnCellColor, xlAscending, , xlSortNormal) _
.SortOnValue.Color = RGB(252, 213, 180)
.SortFields.Add Key:=Range("G8:G" & lz), SortOn:=xlSortOnCellColor, Order:= _
xlAscending, DataOption:=xlSortNormal
.SetRange Range("A7:Q" & lz)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
Next Wiederholungen
Application.ScreenUpdating = True
Range("A1").Select
End Sub

Gruß, MCO

Anzeige
AW: ungetestet, da keine Tabelle
16.08.2013 14:53:52
Yann
Hallo Marc,
danke für deinen Versuch, hat leider noch nicht funktioniert. Ich schicke mal einen Auszug der Datei - in Modul 7 findest du dein Makro (Sortierung_Marc).
Geht hier nicht mehr weiter:
.Range("A7:Q4000").Sort.SortFields.Clear
https://www.herber.de/bbs/user/86887.xlsm
Grüße
Yann

374 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige