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

Zeilen löschen - Laufzeitfehler 91

Zeilen löschen - Laufzeitfehler 91
13.02.2019 08:20:34
Erwin
Guten Morgen,
ich bekomme aus einer SAP Auswertung eine Tabelle geliefert und bereite diese für alle Benutzer auf.
Hier im Forum habe ich einen Code gefunden, der passen würde, weil er von unten nach oben nach einem Text sucht; anschließend sollen die „unnützen“ Zeilen gelöscht werden.
Leider bekomme ich diesen Code nicht richtig eingebaut; es erscheint die Fehlermeldung: "Laufzeitfehler '91': Objektvariable oder With-Blockvariable nicht festgelegt."
Ich habe mich zwar schon daran probiert, aber leider ohne Erfolg.
Wenn der Ausdruck "zuletzt geändert" in der Spalte A oder B gefunden wird, dann soll nach ganz links gesprungen werden und alle noch belegten Zeilen unterhalb gelöscht werden.
Problem 2 an der Sache ist, wenn der Ausdruck nicht – oder mehrfach da ist, kommt wahrscheinlich auch ein Fehler, also müsste man das irgendwie abfangen und eine msgbox ausgeben.
Anbei der link zur Datei: https://www.herber.de/bbs/user/127611.xlsm
Wer kann mir bitte bei der Lösung helfen?
Grüße - Erwin

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen - Laufzeitfehler 91
13.02.2019 08:49:12
Werner
Hallo Erwin,
also ich kann den Laufzeitfehler nicht nachvollziehen.
Eine Anmerkung zum Code:
Die ganze Selektiererei ist unnötig.
Du hebst verbundene Zelle auf, in der Beispielmappe gibt es aber keine verbundenen Zellen.
Eine Beispielmappe ist zwar grundsätzlich mal gut. Mit deiner Mappe lässt sich aber nicht nachvollziehen, was du eigentlich erreichen willst.
Stell doch mal eine Mappe ein mit Daten so wie du sie bekommst und dann ein Blatt wie das nachher aussehen soll.
Gruß Werner
AW: Zeilen löschen - Laufzeitfehler 91
13.02.2019 09:09:29
Erwin
Hallo Werner,
die Originalmappe kann ich wegen der sensiblen Daten natürlich nicht hochladen.
Du hast Recht, ich könnte mir in der Beispielsmappe die 3 Zeilen Code mit den verbundenen Zellen sparen; sorry.
Wenn bei dir kein Laufzeitfehler erscheint, kann ich das nicht nachvollziehen.
Ziel ist es, nach dem Text "zuletzt" geändert" zu suchen und anschließend alles was darunter liegt, zu löschen.
Wenn der gesuchte Text nicht - oder öfter vorkommt, soll eine Meldung ausgegeben werden.
Leider kann ich das selbst nicht programmieren.
Grüße - Erwin
Anzeige
AW: Zeilen löschen - Laufzeitfehler 91
13.02.2019 09:41:15
Sven
Hallo Erwin,
Du wirst wohl nicht umhin kommen, eine gekürzte und anonymisierte Version der Mappe zu zeigen. ;)
AW: Zeilen löschen - Laufzeitfehler 91
13.02.2019 10:09:33
Erwin
Hallo Werner und Sven,
ich habe es jetzt geschafft, dass kein Laufzeitfehler mehr kommt.
Columns("A:B").Select
Selection.Find(What:="zuletzt geändert", After:=Range("a1048576"), LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, searchdirection:= _
xlPrevious, MatchCase:=False, SearchFormat:=False).Select
Dafür stellt sich die Frage was passiert, wenn der Suchbegriff "zuletzt geändert" nicht oder mehrfach in der Liste vorkommt.
Wie kann ich das mit einer msgbox abfangen und den Code danach abbrechen?
Eine neue Datei habe ich ebenfalls hochgelasen: https://www.herber.de/bbs/user/127613.xlsm
Grüße - Erwin
Anzeige
noch offen owT
13.02.2019 12:16:13
Erwin
..
AW: noch offen owT
13.02.2019 19:50:19
Werner
Hallo Erwin,
wundert dich das wirklich?
Wenn du endlich mal eine Datei posten würdest bei der erkennbar wird wie deine Ursprungsdaten und vor allem wie denn dann dein Endergebnis aussehen soll, dann könnte man dir vielleicht auch helfen.
Aber anscheinend ist es dir zu viel Aufwand ein paar Datensätze zusammenzustellen die deinen originalen Rohdaten entsprechen und ein entsprechendes Wunschergebnis aufzuzeigen.
Gruß Werner
AW: noch offen owT
13.02.2019 21:13:04
Erwin
Hallo Werner,
wenn du den Verlauf gesehen hast, habe ich schon 2 Dateien hochgeladen, mehr kann ich nicht bieten.
Außerdem hast du in deinem 1. Beitrag geschrieben, ich hätte Code, den man nicht bräuchte, also was nun?
Für dich als VBA Spezialist kann es doch nicht so schwer sein, hier noch irgendwie if..then reinzubauen, damit ich keine Fehlermeldung bekomme.
Columns("A:B").Select
Selection.Find(What:="zuletzt geändert", After:=Range("a1048576"), LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns, searchdirection:= _
xlPrevious, MatchCase:=False, SearchFormat:=False).Select
Es geht doch nur noch darum, dass eine msgbox erscheint, wenn der Suchwert gar nicht oder öfter vorhanden ist.
Vielleicht klappt es ja doch noch.
Erwin
Anzeige
AW: mit CountIf
14.02.2019 07:57:47
hary
Moin
Pruefe mit Zaehlenwenn (VBA = CountIf)
If Application.CountIf(Range("A:B"), "zuletzt geändert")  1 Then
MsgBox "Nicht oder mehrfach vorhanden"
Exit Sub '--beendet Code
Else
'--hier rein was bei 1x vorhanden passieren soll
MsgBox "Einmal vorhanden"
End If

gruss hary
AW: mit CountIf
14.02.2019 08:19:43
Erwin
Guten Morgen Hary,
das ist genau das, was ich gesucht habe.
Vielleicht war mein Ansatz bzw. meine Beschreibung nicht genau oder sogar fehlerhaft :(
Jedenfalls herzlichen Dank dafür, jetzt passt es.
Grüße - Erwin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige