Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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

Fehler beim sortieren

Fehler beim sortieren
Thorsten
Hallo liebe Forumnutzer,
ich hätte mal wieder eine Frage.
Ich möchte per vba meine excelliste sortieren lassen.
Ich möchte zunächst die letzte beschrieben Zeile finden (hier z)
und dann nach Spalte G sortieren lassen.
Hierzu habe ich folgenden Code geschrieben.

Private Sub erledigt_offen_Click()
Dim z As Long
z = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:I & z").Select
Selection.Sort Key1:=Range("G3"), Order1:=xlDescending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

Beim lauffen lassen wird die Zeile Range("A2:I &z").select markiert und es erscheint der Fehler
die Methode Range für das Objekt Worksheet ist fehlgeschlagen.
Kann mir jemand sagen wo mein Fehler liegt, oder hat jemand ne passende Lösung für mein vorhaben.
Vielen Dank im vorraus.
Grüße,
Thorsten

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
so hoffentlich kein Fehler
12.04.2010 13:26:25
Erich
Hi Thorsten,
versuchs mal (ohne Select) mit

Private Sub erledigt_offen_Click()
Dim z As Long
z = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:I" & z).Sort Key1:=Range("G3"), Order1:=xlDescending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: so hoffentlich kein Fehler
12.04.2010 13:30:05
Thorsten
Hallo Erich,
erst mal danke fpr die schnelle Antwort.
funktioniert leider auch nicht fehlerfrei.
Nun ist folgendes gelb markiert.
Range("A2:I" & z).Sort Key1:=Range("G3"), Order1:=xlDescending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal

und als fehler kommt:
die sort-methode des Range objektes konnte nicht ausgeführt werden.
Vielleicht noch weitere Ideen?
Grüße,
Thorsten
Anzeige
AW: so hoffentlich kein Fehler
12.04.2010 13:44:23
Detlef
Hallo Thorsten,
Private Sub erledigt_offen_Click()
Range("A2:I" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Key1:=Range("G3"), Order1:=xlDescending, _
Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
Gruß Detlef
AW: so hoffentlich kein Fehler
12.04.2010 13:52:55
Thorsten
Hallo Detlef,
leider auch so kein Erfolg.
Der fehler heisst nun:
Die sort-Methode des Range-objektes konnte nicht ausgeführt werden.
Vielleicht noch weitere tipps?
Grüße,
Thorsten
AW: so hoffentlich kein Fehler
12.04.2010 14:34:41
Detlef
Hallo Thorsten,
dann muss ich passen. Bei mir funzt es, siehe Beispieldatei.
https://www.herber.de/bbs/user/69021.xls
Gruß Detlef
Anzeige
Anzahl Zeilen in welcher Spalte?
12.04.2010 15:31:26
Erich
Hi Thorsten,
probier mal dies:

Private Sub erledigt_offen_Click()
Dim z As Long
z = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox "z von Spalte A ist " & z
z = Cells(Rows.Count, 7).End(xlUp).Row
MsgBox "z von Spalte G ist " & z
If z > 2 Then _
Range("A2:I" & z).Sort Key1:=Range("G3"), Order1:=xlDescending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End Sub
Was wird ausgegeben für Spalte A und für Spalte G?
Das If vor dem Sort soll den Sort vermeiden, wenn zu wenige Zeilen gibt.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Anzahl Zeilen in welcher Spalte?
12.04.2010 16:54:02
Thorsten
Hallo Erich,
ich war nun leider 2 Stunden in einer Besprechung.
hab es nun versucht bei mir kommt als z=71 und g=62
Dies kommt daher da in Spalte G entweder ein x drinsteht oder die Zelle leer bleibt.
Nun habe ich wenn sie leer ist einfach ein "-" eingesetzt was das selbe bedeutet und es funktioniert.
Aber mir ist nicht ganz klar warum dieser Fehler auftaucht. Hast du mir auch eine erklärung dafür?
die sort-methode des Range-objektes konnte nicht ausgeführt werden
Vielen Dank für die Unterstützung, jetzt möchte ich es noch verstehen:-)
Grüße,
Thorsten
Fehlerursache unklar
12.04.2010 17:28:49
Erich
Hi Thorsten,
das verstehe ich jetzt auch nicht. Auch leere Zellen werden ordentlich mitsortiert,
sie würden keinen Fehlerabbruch verursachen.
Vermutlich soll in deinem Beispiel bis Zeile 71 sortiert werden, also bis zum Ende der Spalte A.
Dann wäre das der folgende Code:

Private Sub erledigt_offen_Click()
Dim z As Long
z = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox "z von Spalte A ist " & z
If z > 2 Then _
Range("A2:I" & z).Sort Key1:=Range("G3"), Order1:=xlDescending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End Sub
Für den Fehler müsste es noch eine andere Ursache geben.
Arbeitest du hier vielleicht mit verbundenen Zellen?
Du könntest mir eine Mappe mit dem Fehler schicken. Meine Mail-Adresse findest du,
wegen Spam etwas verfremdet, hier in der Profilliste (via Button "Forums-Seiten"),
dann versuch ichs herauszufinden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige