Anzeige
Archiv - Navigation
1724to1728
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

Fehlermeldung beim Code zum Soritieren

Fehlermeldung beim Code zum Soritieren
28.11.2019 17:52:06
Sif
Hallo zusammen,
ich habe ein kleines Problem mit einem Makro. Ich möchte gerne, dass ein bestimmter Bereich sortiert wird. Ich habe mit einen Code (u.a. durch den Macro-Recorder) gebastelt. Allerdings bekomme ich im letzten Schritt bei .Apply einen Laufzeitfehler 1004 angezeigt. Könnt ihr mir hier helfen? Und wie kann ich den Code vereinfachen bzw. kürzer schreiben. Die Vorschläge im Forum zu diesem Thema habe ich schon versucht, jedoch kamen hier ebenfalls Fehlermeldungen.
Vielen Dank im voraus
Vg
Sub Sort()
Dim x As Long
With Sheets("Tabelle1")
x = .Cells(.Rows.Count, 2).End(xlUp).Row
ActiveWorkbook.Worksheets("Tabelle1").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").AutoFilter.Sort.SortFields.Add2 Key _
:=Range("$A$8:$NH$" & x), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung beim Code zum Sortieren
28.11.2019 18:28:02
Nepumuk
Hallo,
teste mal:
Public Sub Sortieren()
    With Sheets("Tabelle1").AutoFilter.Sort
        .SortFields.Clear
        .SortFields.Add2 Key:=Range("$A$8"), SortOn:=xlSortOnValues, _
            Order:=xlAscending, DataOption:=xlSortNormal
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Fehlermeldung beim Code zum Sortieren
28.11.2019 19:34:28
Sif
Hallo,
erstmal danke für deine Antwort. Als ich beim ersten Mal nur den Code durchlief, ging es. Beim 2ten Mal nicht. Es kommt immer die Meldung "Object variable or with block variable not set". Liegt es daran, dass ich vorher Prozeduren durchlaufen lasse, in denen Filter gesetzt werden und ich diese über Sheets("Tabelle1").AutoFilterMode = False wieder rausnehme?
AW: Fehlermeldung beim Code zum Sortieren
28.11.2019 19:58:55
Nepumuk
Hallo,
ja genau, daran liegt es.
Gruß
Nepumuk
AW: Fehlermeldung beim Code zum Soritieren
28.11.2019 19:54:54
Daniel
Hi
Du richtest die Sortierung zwar auf dem Blatt Tabelle1 ein, wenn du aber die Sortierspalte angibst:
... .Add2Key:=Range(...)

Dann fehlt vor dem Range die Tabellenblattangabe und diese Range bezieht sich damit immer auf das gerade aktive Tabellenblatt.
Da aber der Sortierschlüssel ein Teil des sortierten Bereichs sein muss, funktioniert dein Code nur dann, wenn die Tabell1 das aktive Blatt ist.
Ist ein anderes Blatt aktiv, knallts.
Der Code vom Recorder ist hier nicht besonders gut und muss überarbeitet werden, wenn die Sortierung in einem nichtaktiven Blatt laufen soll.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige