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

Problem mit VBA-Programm - Laufzeitfehler 438

Problem mit VBA-Programm - Laufzeitfehler 438
25.04.2017 17:56:23
Moritz
Hallo zusammen!
Arbeite im Moment an einem VBA-Programm (und bin nicht so wahnsinnnig erfahren). Um Zeilen in einer bestimmten Reihenfolge zu sortieren, habe ich folgendes Programm geschrieben:
Sub Ordnen()
Dim a As Long, b As Long, RowEnd As Long
a = 2
b = 2
RowEnd = Sheets("Zeilennummer").Cells(65536, 1).End(xlUp).Row
Do Until a = RowEnd
Do Until Sheets("Zeilennummer").Cells(a, b) = ""
Sheets("Geordnet").Row(a)=Sheets("Ungeordnet").Row(Sheets("Zeilennummer").Cells(a, b))
b = b + 1
Loop
a = a + 1
b = 2
Loop
End Sub

Damit sollen Zeilen aus dem einen Tabellenblatt in ein anderes Tabellenblatt eingefügt werden. In dem Tabellenblatt Zeilennummer ist notiert, in welche Zeilen kopiert werden soll. Beim Ausführen taucht immer die Fehlermeldung "Laufzeitfehler 438 - Objekt unterstützt diese Eigenschaft oder Methode nicht" auf. Laut Debugger muss das etwas mit der fett gedruckten Zeile zu tun haben. Habe die auch schon öfter umgeändert, finde aber die Lösung nicht alleine.
Hoffe, dass ich hier richtig bin!
Vielen Dank im Voraus.
Lg
Moritz

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit VBA-Programm - Laufzeitfehler 438
25.04.2017 18:24:58
ChrisL
Hi Moritz
Ich vermute...
Sheets("Geordnet").Rows(a)=Sheets("Ungeordnet").Rows(Sheets("Zeilennummer").Cells(a, b)).Value
aber so überträgst du alle Spalten, darum solltest eine Range über die verwendete Spaltenanzahl machen.
Für alles weitere, bitte um Beispieldatei und eine kurze Erklärung, wie das Blatt Zeilennummer entsteht.
Solche Do-Loops (oder For-Next Schleifen, was übrigens die übersichtlichere Variante wäre), sind bezüglich Laufzeit schwach. Besonders dann, wenn du Schleife in Schleife ausführst (die Durchläufe multiplizieren sich). Darum würde ich die Zeilenzahlen direkt mit den unsortierten Daten ergänzen und anschliessend normal sortieren.
cu
Chris
Anzeige
AW: Problem mit VBA-Programm - Laufzeitfehler 438
25.04.2017 18:25:15
Nepumuk
Hallo,
teste mal:
Sheets("Geordnet").Rows(a).Value = Sheets("Ungeordnet").Rows(Sheets("Zeilennummer").Cells(a, b)).Value

Gruß
Nepumuk
AW: Problem mit VBA-Programm - Laufzeitfehler 438
25.04.2017 18:29:45
Zwenn
Hallo Moritz,
so kannst Du keine Zeile kopieren. Schon allein deshalb nicht, weil Du auf der rechten Seite nur eine Zelle angibst. Damit stimmen ja schon der Ziel- und der Quellbereich rein größenmäßig nicht überein. Es funktioniert aber generell nicht so, wie Du es versuchst, sondern so:

Sheets("Ungeordnet").Rows(ZEILENNUMMER).Copy Destination:=Sheets("Geordnet").Rows( _
ZEILENNUMMER)
Viele Grüße,
Zwenn
Anzeige
Wie wär's mit Folgendem, ...
25.04.2017 18:47:43
Luc:-?
…Moritz:
Do While Sheets("Zeilennummer").Cells(a, b) ""
Sheets("Geordnet").Rows(a) = Sheets("Ungeordnet").Rows(Sheets("Zeilennummer").Cells(a, b))

Der Objekt-fehlt-Fehler kann eigentlich nur auftauchen, wenn die 1. leere Zelle erreicht wurde, weil das Konstrukt dann keine ZeilenNr liefert. Bei Until nach Do wird die Schleife bei Erreichen der Bedingung noch 1× abgearbeitet, bei Until nach Loop nicht!
Ob das nun die beste Lösung dieser Aufgabe ist, sei mal dahingestellt…
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Besser informiert mit …
Anzeige
Nicht aufgepasst! Sollte zu Moritz! owT
25.04.2017 18:51:24
Luc:-?
:-?
Und stimmt auch nicht, Auch bei 'Until' nach ...
25.04.2017 18:58:49
Luc:-?
Do wird nicht mehr ausgeführt, Moritz,
ist halt nur ungewöhnlicher…
Das fehlende Objekt liegt dann wohl nur an Row statt Rows.
Luc :-?
AW: Problem mit VBA-Programm - Laufzeitfehler 438
25.04.2017 18:38:47
Moritz
Danke euch allen.
Habe eure Varianten ausprobiert und funktioniert, wie es soll.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen