Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1156to1160
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

variablen Bereich sortieren

variablen Bereich sortieren
Anne
Hallo,
in einer Tabelle möchte ich einen variablen Bereich auf verschiedene Weise sortieren:
1. nach Spalte A - alphabetisch aufsteigend
2. nach Spalte D - numerisch absteigend
Mit den Makros
Sub sortiere_namen()
' sortiert nach dem Namen der Teilnehmer
Dim EndeA As Integer
Dim SpalteA As Integer
EndeA = Sheets("allgemein").Cells(Rows.Count, 1).End(xlUp).Row + 1
SpalteA = Sheets("allgemein").Cells(1, 2)
Range(Cells(6, 1), Cells(EndeA, SpalteA)).Sort Key1:=Cells(6, 1), Order1:=xlDescending, Header:= _
xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A3").Select
End Sub
klappt das Sortieren zwar, allerdings sortiert er mir die Daten bei alphabetischen Sortierung nun von auch absteigend.
Wie kann ich die Art des Sortierens mitgeben?
Vielen Dank für Eure Hilfe
Anne

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

Betreff
Benutzer
Anzeige
AW: variablen Bereich sortieren
01.06.2010 18:51:11
Ramses
Hallo
Probier mal
Option Explicit
Sub Sort_A_asc_B_des()
Dim wks As Worksheet
Dim EndeA As Integer
Set wks = Worksheets("Allgemein")
EndeA = wks.Cells(Rows.Count, 1).End(xlUp).Row + 1
With wks
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A6:A" & EndeA), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=Range("D6:D" & EndeA), SortOn:=xlSortOnValues, Order:= _
xlDescending, DataOption:=xlSortNormal
With .Sort
.SetRange Range("A5:D9")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub
Gruss Rainer
Anzeige
AW: variablen Bereich sortieren
01.06.2010 19:13:27
Anne
Hallo,
funktioniert nur bedingt, d.h. die Sortierreihenfolge ist nun wieder o.k., es müßte aber die Spaltenangabe auch variabel sein.
Geht so etwas?
Gruß
Anne
Bin kein Hellseher...
01.06.2010 20:30:31
Ramses
Hallo
"...funktioniert nur bedingt..."
Tut es nicht, es funktioniert einwandfrei und genau so wie du es gewollt hast, bzw. wie dein Makro sortierte.
Wenn du was anderes haben willst, musst du das von Anfang an sagen.
"...1. nach Spalte A - alphabetisch aufsteigend
2. nach Spalte D - numerisch absteigend.."
Genau das macht es. Hellsehen kann hier niemand.
Hier eine Variable Variante. Die spaltennummer kommt aus B2 wie in deinem Beispiel
Sub Sort_A_asc_B_des2()
Dim wks As Worksheet
Dim EndeA As Integer
Dim colSort As Long
Set wks = Worksheets("Tabelle1")
colSort = wks.Range("B2")
EndeA = wks.Cells(Rows.Count, 1).End(xlUp).Row
With wks
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range(Cells(6, 1), Cells(EndeA, 1)), SortOn:=xlSortOnValues,  _
Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=Range(Cells(6, colSort), Cells(EndeA, colSort)), SortOn:= _
xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With .Sort
.SetRange Range(Cells(6, 1), Cells(EndeA, colSort))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub
Gruss Rainer
Anzeige
AW: SORRY
01.06.2010 21:29:16
Anne
Hallo,
aber nun funktioniert es.
Vielen, vielen Dank!!!
Gruß
Anne

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige