Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1356to1360
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

Daten sortieren

Daten sortieren
09.04.2014 15:46:37
Andi
Hallo,
ich habe eine Frage zum Thema Daten sortieren - dazu gibt es zwar verschiedene Beiträge im Forum, den passenden habe ich aber (noch) nicht gefunden...
Ich möchte einen Bereich mit Daten sortieren (z.Bsp. "B12:D20" - soll aber zukünftig variabel sein)
Sub Sort()
With ThisWorkbook
Worksheets(Ziel).Range(.Worksheets(Ziel).Cells(12, 2), .Worksheets(Ziel).Cells(20, 4)).Sort  _
_
Key:=Worksheets(Ziel).Range("D12"), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortTextAsNumbers, _
Header:=xlNo, Orientation:=xlTopToBottom
End With
End Sub

Die Werte auf deren Basis sortiert werden soll stehen in Spalte D, vorne sind Bezeichnungen etc.
Da ich mit ThisWorkbook arbeite und Worksheets immer dazu schreibe - dachte ich, dass ich mir das sparen kann und nicht extra beim Sortieren dazuschreiben muss?
Vielen Dank für Eure Tipps

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten sortieren
09.04.2014 16:42:26
Tino
Hallo,
hier mal zwei Varianten.
Durch .Rows.Count wird die letzte Zeile in der Tabelle angesprochen.
'Beispiel 1
With ThisWorkbook.Worksheets(Ziel)
.Range(.Cells(12, 2), .Cells(.Rows.Count, 4)).Sort _
Key:=.Cells(12, 4), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortTextAsNumbers, _
Header:=xlNo, Orientation:=xlTopToBottom
End With

'Beispiel 2
With ThisWorkbook.Worksheets(Ziel)
With .Range("B12:D" & .Rows.Count)
.Sort Key:=.Cells(1, 3), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortTextAsNumbers, _
Header:=xlNo, Orientation:=xlTopToBottom
End With
End With
Gruß Tino

Anzeige
AW: Daten sortieren
09.04.2014 17:02:08
Andi
Hey Tino,
besten Dank!
Einen Punkt verstehe ich aber noch nicht ganz, wozu benoetige ich
With ThisWorkbook.Worksheets(Ziel)
End With
Das war doch schon in meinem Versuch enthalten - funktioniert aber da nicht?! Kann man das nicht "irgendwie" weglassen?
Danke

AW: Daten sortieren
09.04.2014 17:32:37
Tino
Hallo,
kommt darauf an von wo der Code ausgeführt wird (idR. aus einem Standard Modul)
und ob sichergestellt ist das nie eine andere Datei aktiv ist.
Wenn sich der Code in der Tabelle steht,
kann man dies auch weglassen und wegen der Intellisense (Autovervollständigung) auch mit Me arbeiten.
Persönlich versuche ich immer die Datei so gut es geht explicit anzusprechen
damit nicht die Falsche Datei oder Tabelle bearbeitet wird
Alternativ kann man die Tabelle als Objekt-Name (nicht Registername der im Excel zu sehen ist)
verwenden dann wird auch die Tabelle in DieserArbeitsmappe angesprochen wo sich der Code befindet.
'Objekt-Name, Code in einem Modul
With Tabelle2
With .Range("B12:D" & .Rows.Count)
.Sort Key:=.Cells(1, 3), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortTextAsNumbers, _
Header:=xlNo, Orientation:=xlTopToBottom
End With
End With
'Code in der Tabelle als Code
With Range("B12:D" & Rows.Count)
.Sort Key:=Cells(1, 3), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortTextAsNumbers, _
Header:=xlNo, Orientation:=xlTopToBottom
End With
oder auch
With Me
With .Range("B12:D" & .Rows.Count)
.Sort Key:=.Cells(1, 3), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortTextAsNumbers, _
Header:=xlNo, Orientation:=xlTopToBottom
End With
End With

Gruß Tino

Anzeige
AW: Daten sortieren
10.04.2014 10:04:27
Andi
Hey Tino,
besten Dank! Das mit dem "with"/ "end with" war mir nich so klar aber jetzt...
Danke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige