Clever-Excel-Forum

Normale Version: Abwärtssortierung funktioniert nicht
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo und guten Tag,

per Makro wird eine Db-Datenbank importiert, welche anschließend datumsabwärts sortiert werden soll (s.letzte 3 Zeilen):
Code:
Sub Knr_45_öffnen()
'
' Knr_45_öffnen Makro
' Makro am 15.02.2021 von r r aufgezeichnet
'

'
    Workbooks.Open Filename:="C:\Users\r r\Documents\Excel\Kostennr 45_II.xls"
    With ActiveSheet.QueryTables.Add(Connection:=Array( _
        "OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=C:\DBASE\Haus\;Mode=Share Deny Write;Extended Properties=" _
        , _
        """"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Engine Type=18;Jet OLEDB:Dat" _
        , _
        "abase Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=""""" _
        , _
        ";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:" _
        , "Compact Without Replica Repair=False;Jet OLEDB:SFP=False"), Destination:= _
        Range("P15"))
        .CommandType = xlCmdTable
        .CommandText = Array("BUCHUNG")
        .Name = "BUCHUNG_2"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = True
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = True
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .SourceConnectionFile = _
        "C:\Users\r r\Documents\Eigene Datenquellen\BUCHUNG.odc"
        .SourceDataFile = "C:\DBASE\Haus\BUCHUNG.DBF"
        .Refresh BackgroundQuery:=True
        End With
    Range("P15").Select
    Range("P15:X34076").Sort Key1:=Range("P15"), Order1:=xlDescending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
        , DataOption1:=xlSortNormal
End Sub

Warum funktioniert das nicht?!

Danke und Gruß in die Runde
Hallo,

42?
Hallo,

42? Sorry, das verstehe ich nicht.
Hi Babsi,

fachlich kann ich dir zwar nicht helfen. Ich vermute, Klaus-Dieter sind deine Angaben zu vage.

Meint auch Wdikipedia: https://www.google.com/search?client=firefox-b-d&q=was++bedeutet+die+zahl+42
Hallöchen,

was heißt funktioniert nicht? Wird eine Fehlermeldung ausgegeben, wird nicht richtig sortiert, passiert nix...?
Hast Du den Sortiercode mal mit einer aufgezeichneten Sortierung verglichen, was ist da ggf. anders?
Was ergibt =ISTZAHL(P15) ?
Ich gehe mal stark von FALSCH aus!
Spalte markieren, Daten, Text in Spalten, sofort fertigstellen dürfte das Problem beheben.

Gruß Ralf
Guten Abend, 

der Code wurde mit dem Macrorecorder aufgenommen. P15 ist das Datenbankfeld "Datum", nach dem sortiert werden soll. Der X-Wert die Zeile des letzten Datenbankeintrages.
 
Code:
Range("P15:X34076")
umfasst wohl den zur Zeit der Programmierung (Makroaufnahme) gegebenen Datensatzbereich. Dieser hat sich aber zwischenzeitlich vergrößert.
Nur die Sortierung als Makro aufgenommen ergibt heute:

Code:
Sub Makro1()
'
' Makro1 Makro
' Makro am 03.05.2021 von r r aufgezeichnet
'

'
    Range("P15:X34487").Sort Key1:=Range("P15"), Order1:=xlDescending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
        , DataOption1:=xlSortNormal
End Sub

Nun habe ich probeweise den X-Wert des "alten" Makros durch den X-Wert von heute ersetzt. Leider wird die Sortierung damit auch nicht durchgeführt.

Hat jemand eine Idee, wie der Code angepasst werden könnte/müsste?

Dank und Gruß in die Runde
... ja, wird denn überhaupt sortiert, also ohne Makro???
@ schauan

Zitat:ja, wird denn überhaupt sortiert, also ohne Makro???



Ja.

Mit dem zweiten Makro auch.

Sollte ich den Sachverhalt unverständlich darstellen, bitte ich freundlich um entsprechenden Hinweis.

Gruß, Babsi