expertenaustausch > microsoft.* > microsoft.excel

Can Ulucan (23.05.2020, 16:25)
Hallo Liebe Gemeinde,

Ich habe eine benutzerdefinierte Liste (es existiert nur eine benutzerdefinierte Liste ) für die Sortierung in Excel hinterlegt.

Ich Sortiere zuerst nach : Spalte A (Datum) aufsteigend
Spalte H (Buchstaben) benutzerdefinierte Liste
Spalte G (Datum) absteigend

Leider Funktioniert es nicht. Was mache ich Falsch ?

With Master
Range(strBer).Sort key1:=Range(strSpA & "8"), Order1:=xlAscending, _
key2:=Range(strSpH & "8"), OrderCustom:=1, MatchCase:=False, _
key3:=Range(strSpG & "8"), Order3:=xlAscending, Header:=xlYes
End With

Könnt Ihr helfen ?
Bitte Bleibt Gesund!
VG
Claus Busch (23.05.2020, 17:26)
Hallo Can,

Am Sat, 23 May 2020 07:25:40 -0700 (PDT) schrieb Can Ulucan:

> Ich Sortiere zuerst nach : Spalte A (Datum) aufsteigend
> Spalte H (Buchstaben) benutzerdefinierte Liste
> Spalte G (Datum) absteigend


wenn deine benutzerdefinierte Liste am Ende der Listen steht, probiere
es mal so:

Sub Sortieren()
Dim Bereich As Range
Dim LRow As Long

With Sheets("Master")
LRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Set Bereich = .Range("A8:H" & LRow)
End With

Bereich.Sort key1:=Range("A1"), order1:=xlAscending, _
key2:=Range("H8"), order2:=xlAscending, ordercustom:=Application.CustomListCount + 1, _
key3:=Range("G8"), order3:=xlDescending, Header:=xlYes, MatchCase:=False
End Sub

Ansonsten zähle in den bnutzerdefinierten Listen an welcher Stelle eine
Liste steht.

Mit freundlichen Grüßen
Claus
Claus Busch (23.05.2020, 17:31)
Hallo nochmals,

Am Sat, 23 May 2020 17:26:17 +0200 schrieb Claus Busch:

> Sub Sortieren()
> Dim Bereich As Range
> Dim LRow As Long


in dem vorherigen Post ist ein Tipp-Fehler.
Probiere es so:

Sub Sortieren()
Dim Bereich As Range
Dim LRow As Long

With Sheets("Master")
LRow = .Cells(.Rows.Count, "A").End(xlUp).Row
Set Bereich = .Range("A8:H" & LRow)
End With

Bereich.Sort key1:=Range("A8"), order1:=xlAscending, _
key2:=Range("H8"), order2:=xlAscending, ordercustom:=Application.CustomListCount + 1, _
key3:=Range("G8"), order3:=xlDescending, Header:=xlYes, MatchCase:=False
End Sub

Mit freundlichen Grüßen
Claus
Can Ulucan (23.05.2020, 17:44)
Am Samstag, 23. Mai 2020 17:31:34 UTC+2 schrieb Claus Busch:
[..]
> --
> Windows10
> Office 2016


Hallo Claus,

lieben dank für deine Hilfe.
auch so funktioniert es nicht. Komischer weise wird die BenutzterdefinierteListe für die erste Spalte A Sortierfunktion angewendet. Es soll aberfür die Spalte H angewendet werden.

Spalte A (Datum) aufsteigend
> Spalte H (Buchstaben) benutzerdefinierte Liste
> Spalte G (Datum) absteigend


wäre Super wenn ich dieses Problem mit deiner hilfe Lösen könnte.

Beste Grüße, Can
Can Ulucan (23.05.2020, 18:02)
Am Samstag, 23. Mai 2020 17:44:27 UTC+2 schrieb Can Ulucan:
[..]
Claus Busch (23.05.2020, 18:06)
Hallo Can,

Am Sat, 23 May 2020 08:44:26 -0700 (PDT) schrieb Can Ulucan:

> auch so funktioniert es nicht. Komischer weise wird die Benutzterdefinierte Liste für die erste Spalte A Sortierfunktion angewendet. Es soll aber für die Spalte H angewendet werden.
> Spalte A (Datum) aufsteigend
>> Spalte H (Buchstaben) benutzerdefinierte Liste
>> Spalte G (Datum) absteigend


dann probiere mal:

Sub Sortieren2()
Dim LRow As Long

With Sheets("Master")
LRow = .Cells(.Rows.Count, "A").End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=Range("A8:A" & LRow) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add2 Key:=Range("H8:H" & LRow) _
, SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="H,B,A", _
DataOption:=xlSortNormal
.Sort.SortFields.Add2 Key:=Range("G8:G" & LRow) _
, SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With .Sort
.SetRange Range("A8:H" & LRow)
.Header = xlYes
.MatchCase = False
.Apply
End With
End With
End Sub

Mit freundlichen Grüßen
Claus
Can Ulucan (23.05.2020, 18:29)
Am Samstag, 23. Mai 2020 18:06:07 UTC+2 schrieb Claus Busch:
[..]
> --
> Windows10
> Office 2016


Hab es so eben versucht bekomme nun den Laufzeitfehler 438
Objekt Unterstüzt diese Eigenschaft oder Methode nicht.

Anbei habe ich habe das makro mal aufgezeichnet.Wenn ich dieses mit F8 teste funktioniert es. Verstehe es nicht warum?

Sub Makro7()

ActiveWorkbook.Worksheets("Master").Sort.SortField s.Clear
ActiveWorkbook.Worksheets("Master").Sort.SortField s.Add Key:=Range("A2:A43"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Master").Sort.SortField s.Add Key:=Range("G2:G43"), _
SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:="H,A,B", _
DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Master").Sort.SortField s.Add Key:=Range("H2:H43"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Master").Sort
.SetRange Range("A1:H43")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Can Ulucan (23.05.2020, 18:38)
Am Samstag, 23. Mai 2020 18:29:18 UTC+2 schrieb Can Ulucan:
[..]
> .Apply
> End With
> End Sub


Unten steht der Code wie ich es mir Überlegt hatte als ich noch motiviert war :-(

Sub Test()

Dim AnzahlDaten As String
Dim strSpA, strSpB, strSpD, strSpE, strSpG, strSpH, strBer As String
'AnzahlErmitteln
AnzahlDaten = Range("A65535").End(xlUp).Row
'BereichMarkieren
Sheets("Basis").Range(Cells(2, 1), Cells(AnzahlDaten, 8)).Name = "Daten"
'SpaltenParameter
strSpA = "A"
strSpB = "B"
strSpD = "D"
strSpE = "E"
strSpG = "G"
strSpH = "H"
'BereichZuweisen
strBer = Sheets("Basis").Range(Cells(2, 1), Cells(AnzahlDaten, 8))

'Sortieren
With Master
Range(strBer).Sort key1:=Range(strSpA & "8"), order1:=xlAscending, _
key2:=Range(strSpH & "8"), ordercustom:=1, MatchCase:=False, _
key3:=Range(strSpG & "8"), order3:=xlAscending, Header:=xlYes
End With
End Sub
Claus Busch (23.05.2020, 20:39)
Hallo Can,

Am Sat, 23 May 2020 09:38:38 -0700 (PDT) schrieb Can Ulucan:

[..]
> key3:=Range(strSpG & "8"), order3:=xlAscending, Header:=xlYes
> End With
> End Sub


das Ganze ist etwas widersprüchlich.
Wo fangen deine Daten an? Was ist Master? Willst du Blatt "Basis"
sortieren?
Stelle deine Mappe mal zur Verfügung, dass ich den Tabellenaufbau sehen
kann.

Mit freundlichen Grüßen
Claus
Ähnliche Themen