Herbers Excel-Forum - das Archiv

MsgBox mit Fehlermeldung zuschließen ( nicht mit F

Bild

Betrifft: MsgBox mit Fehlermeldung zuschließen ( nicht mit F
von: Andri

Geschrieben am: 23.02.2005 17:12:59
Hallo,
ich habe schon ganzen Tage die vorhandenen Tips durchgeforstet, habe aber keine Antwort auf mein Problem finden können. Ich hoffe hiermit findet sich ein Spezi, der mir bei der Arbeit weiter helfen kann.
Beim Vergleich zweier Tabellenblätter wollte ich einfach die Suchfunktion aus der Leiste (Bearbeiten/Suchen) ausnutzen und in mein Macro aktiv einbauen.
Das Macro soll alle Zellen des (bestimmtes) eingegebenes Blattes mit meiner Angabe vergleichen und bei Übereinstimmung einer Zelle, die ganze Zeile ausschneiden und in ein anderes Tabellenblatt einfügen.
Das funktioniert einwandfrei so lange bis:
sich der gesuchte Text in ingerdeiner Zelle nicht mehr befindet. Dann reagiert der Excel mit einer Meldung im MsgBox, dass keine übereinstimmenden Daten mehr zu finden sind.
Im Makroverlauf erzeug dieses ein Laufzeitfehler „91“ (Objektvariable oder WithBlockVariable nicht festgelegt) Soweit klar.
Wie sag ich dem Macro, wenn du auf diese Fehlermeldung (Laufzeitfehler „91“) stosst, mach dieses zu und /oder verfahre weiter mit Befehlen die nach Then eingefügt sind. If, then, else, elseIf Befehle sind klar. Diese lassen sich aber nicht in Verbindung mit meinen
Cells.Find(What:="blabla", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
Angaben benutzen.
--------------------------------------
Ich hätte aus dem Bauch heraus geschrieben:
If
Cells.Find(What:="blabla", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
Than .........
oder
Cells.Find(What:="blabla", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
If (Fehlermeldung - MsgBox(")
Than (weiter....)
oder bestätige „beenden“ im aktiven MsgBox und mach an der gekennzeichneten Stelle weiter.
oder, oder, oder,....
......Es hilft alles nicht.
es ist sicher wieder ganz einfach.
Dann wurde ich gerne :
Cells.Find(What:="blabla"…… hier ein Zellenbezug (mit ständig anderen Textwerten) anstatt blabla gerne haben
Kann ich es mit
Cells.Find(What:="Range("G11").Value" bewätigen?
Danke
Andri

hier ist das ganze Teil zur Ergänzung:
Sub Makro9()
Range("A1").Select
Selection.Copy
Sheets("Tabelle1").Select
Range("A1").Select
Cells.Find(What:="blabla", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
ActiveCell.Rows("1:1").EntireRow.Select
Application.CutCopyMode = False
Selection.Cut
Sheets("Tabelle3").Select
Range("A1").Select
ActiveSheet.Paste
Range("A1:M1").Select
Selection.Cut
ActiveWindow.SmallScroll ToRight:=9
Application.CutCopyMode = False
Selection.Cut Destination:=Range("C1:O1")
Range("C1:O1").Select
ActiveWindow.SmallScroll ToRight:=-9
Range("A1").Select
Sheets("Tabelle2").Select
Range("A1").Select
Selection.Copy
Sheets("Tabelle3").Select
Range("A1").Select
ActiveSheet.Paste
Rows("1:1").Select
Application.CutCopyMode = False
Selection.Insert Shift:=xlDown
Range("A1").Select
Sheets("Tabelle2").Select
Range("A1").Select
End Sub

Bild

Betrifft: AW: MsgBox mit Fehlermeldung zuschließen ( nicht mit F
von: ransi

Geschrieben am: 23.02.2005 18:31:10
hallo andri
zu1)
wie du den fehler abfangen kannst auch aus dem bauch raus:
if not Cells.Find(What:="...) is nothing then
.
code
.
else:
anderer code
zu2)
"Kann ich es mit
Cells.Find(What:="Range("G11").Value" bewätigen?"
warum nicht sollte das nicht gehn ?
probieren geht über studieren.
und 3)
versuch mal ohne das ganze select auszukommen.
macht den code besser lesbar
und das makro schneller.
ransi
 Bild
Excel-Beispiele zum Thema "MsgBox mit Fehlermeldung zuschließen ( nicht mit F"
MsgBox mit Werten aus geschlossener Arbeitsmappe Überprüfung auf Übereinstimmung und Anzeige in MsgBox
Internetdaten abrufen und in MsgBox anzeigen Textdatei auslesen und in MsgBox anzeigen
Fehlermeldung #NV ausblenden Fehlermeldung abfangen
Fehlermeldung #DIV/0! verhindern Fehlermeldung abfangen und in sequentielle Datei schreiben
VBA-Fehlermeldungen auflisten Alle Zellen mit der #BEZUG!-Fehlermeldung auswählen