2017-09-11 3 views
0

I Spalten für meine VBA-Anwendung sortieren will, aber es gibt mir einen Fehler wie dieseVBA Sortierung 4 Spalten

„Anwendung definiert oder Objekt definierten Fehler“

das ist mein Quellcode

Range("A3:X" & lastRow).Select 
Selection.Sort Key1:=Range("e3"), Order1:=xlAscending, _ 
       Key2:=Range("D3"), Order2:=xlAscending, _ 
       Key3:=Range("c3"), Order3:=xlAscending, _ 
       Key4:=Range("f3"), Order4:=xlAscending, _ 
       Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ 
       DataOption1:=xlSortNormal, DataOption2:=xlSortNormal 

das funktioniert ohne Key4 und order4 ich frage mich, was mit meinem c falsch ist Oden

+0

Die 'Range.Sort' Methode definiert nur drei Tasten (Spalten). –

+0

hmm hast du einen Vorschlag? für mein Anliegen Herr @RonRosenfeld – maru

+0

Ihre Frage liest sich über das Sortieren auf ** 3 ** Spalten, also warum brauchen Sie 4 Schlüssel? –

Antwort

2

ich denke, das Sie geben, was Sie nach:

With ActiveWorkbook.Worksheets(1).Sort ' set this to the relevant book and sheet 

    .SortFields.Clear 
    .SortFields.Add Key:=Range("E3"), Order:=xlAscending 
    .SortFields.Add Key:=Range("D3"), Order:=xlAscending 
    .SortFields.Add Key:=Range("C3"), Order:=xlAscending 
    .SortFields.Add Key:=Range("F3"), Order:=xlAscending 

    .SetRange Range("A3:X" & lastRow) 
    .Apply 

End With