Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Tabellenblätter durchgehen und sortieren

VBA: Tabellenblätter durchgehen und sortieren
15.11.2016 11:03:31
Josef
Guten Morgen allerseits,
ich suche ein Makro welches die Tabellenblätter einer Arbeitsmappe durchgeht und in jedem die dortigen Werte zunächst nach Spalte E, dann nach Spalte A sortiert.
Der Aufbau jedes Tabellenblatts ist gleich. Die erste Zeile ist die Überschriftenzeile. Nur die Anzahl der Reihen ist verschieden.
Beste Grüße
Der Jupp
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Tabellenblätter durchgehen und sortieren
15.11.2016 12:48:28
Michael
Hallo!
Der Aufbau jedes Tabellenblatts ist gleich
Leider hast Du diesen nicht mitgeteilt, daher hier auf Basis des "verwendeten Bereichs" jedes Tabellenblattes:
Sub AlleBlaetterSortieren()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet, Daten As Range, SortA As Range, SortB As Range
'Alle Tabellenblätter der Mappe durchgehen
For Each Ws In Wb.Worksheets
With Ws 'mit dem aktuellen Tabellenblatt
Set Daten = .UsedRange 'Verwendeter Blattbereich, ggf. anpassen
Set SortA = .Columns("E") 'Spalte E
Set SortB = .Columns("A") 'Spalte A
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=SortA
.Sort.SortFields.Add Key:=SortB
With .Sort
.SetRange Daten
.Header = xlYes
.Apply
End With
End With
Next Ws 'Nächstes Tabellenblatt
End Sub
Klappts?
LG
Michael
Anzeige
AW: VBA: Tabellenblätter durchgehen und sortieren
15.11.2016 13:26:28
Josef
Hi Michael,
Danke für deine Antwort. Ich kann den Aufbau gerne beschreiben:
Von A1:Y1 Überschriftenzeile
Spalte E enthält Zahlen, Spalte A enthält Daten (von Datum).
Ab Zeile 2 beginnen die Datensätze, auch diese gehen bis Spalte Y.
Ansonsten kann ich gerne eine Beispieldatei anfügen.
LG Jupp
Anzeige
Hast Du meinen Code ausprobiert? owT
15.11.2016 13:28:14
Michael
AW: Hast Du meinen Code ausprobiert? owT
15.11.2016 14:33:41
Josef
Hab ich, funktioniert einwandfrei.
Besten Dank.
Freut mich, hier noch eine Ergänzung...
15.11.2016 14:38:49
Michael
Josef,
...wenn Du nicht nur den "verwendeten Bereich" sondern einen konkreten Bereich (wie von Dir nachgereicht verwenden willst (evtl. für's nächste Mal):
Sub AlleBlaetterSortieren()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet, Daten As Range, SortA As Range, SortB As Range
'Alle Tabellenblätter der Mappe durchgehen
For Each Ws In Wb.Worksheets
With Ws 'mit dem aktuellen Tabellenblatt
'Verwendeter Blattbereich ODER konkreter Blattbereich
'Set Daten = .UsedRange 'Variante 1
Set Daten = .Range("A1:Y" & _
.Cells(.Rows.Count, 25).End(xlUp).Row) 'Variante 2
Set SortA = .Columns("E") 'Spalte E
Set SortB = .Columns("A") 'Spalte A
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=SortA
.Sort.SortFields.Add Key:=SortB
With .Sort
.SetRange Daten
.Header = xlYes
.Apply
End With
End With
Next Ws 'Nächstes Tabellenblatt
End Sub
LG
Michael
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige