Problem beim Sortieren mit Excel

Hallo, bin fast am verzweifeln und suche seit Stunden nach einer Lösung:
Möchte aus einer Userform heraus dynamisch in verschiedenen Arbeitsblättern unterschiedliche Dateien sortieren.
Befindet sich die zu sortierende Tabelle im aktuellen Arbeitsblatt, läuft alles problemlos. Ansonsten erhalte aber immer die Meldung:

"Laufzeitfehler’ 1004’
Der Sortierbezug ist ungültig. Überprüfen Sie…

Meine Variablen (Strings) sind:
Arbeitsblatt->„Blatt“,
zu sortierender Bereich-> „tabelle“ z.B. = „A3:J“,
Key->„Spalte“ z.B. = „B1“
Mein Code:

Sheets(Blatt).Range(tabelle & Cells(Rows.Count, 2).End(xlUp).Row).Sort Key1:=Range(Spalte), order1:=xlAscending, Header:=xlNo

Was mache ich falsch? Kann mir jemand helfen?

Sheets(Blatt).Range(tabelle & Cells(Rows.Count,
2).End(xlUp).Row).Sort Key1:=Range(Spalte),
order1:=xlAscending, Header:=xlNo

Was mache ich falsch? Kann mir jemand helfen?

du musst das Sheet erst als aktive Tabellenblatt holen

Sheets(Blatt).Select
Sheets(Blatt).Range(tabelle & Cells(Rows.Count,2).End(xlUp).Row).Sort \_
Key1:=Range(Spalte), \_
order1:=xlAscending, \_
Header:=xlNo

ist halt so, wenn du es so tust :smile:

Befindet sich die zu sortierende Tabelle im aktuellen
Arbeitsblatt, läuft alles problemlos. Ansonsten erhalte aber
immer die Meldung:

"Laufzeitfehler’ 1004’
Der Sortierbezug ist ungültig. Überprüfen Sie…

Sheets(Blatt).Range(tabelle & Cells(Rows.Count,
2).End(xlUp).Row).Sort Key1:=Range(Spalte),
order1:=xlAscending, Header:=xlNo

Hallo Börries,

das zu sortierende Blatt muß nicht aktiviert werden.

Sheets(Blatt).Range(tabelle & Cells(Rows.Count,2).End(xlUp).Row).Sort Key1:=**Sheets(Blatt).**Range(Spalte),…

Gruß
Reinhard

Hallo Reinhard,
herzlichen Dank für die prompte Antwort.
Die Sonne scheint wieder!

Danke! Es läuft!