Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

# Suchfunktion abfangen

Forumthread: # Suchfunktion abfangen

# Suchfunktion abfangen
20.04.2005 12:08:37
Nikolaus
Hallo,
ich schreibe gerade ein Makro, in dem ich per Suchfunktion einen String suche. Solange der String gefunden werden kann, ist alles in Ordnung. Gibt es den String jedoch in der Tabelle nicht, stürzt das Makro ab. Hat jemand einen guten Tipp für mich?
Vielen Dank, Nikolaus
Code:

Sub FindATB_v2()
' FindATB Macro
' by Nikolaus Schumacher
' Sucht ATB-Nummer aus einer Tabelle
' Variables:
Dim Cntr_No, ATB_No, Response, MyStr, YesNo, Status
YesNo = vbYes ' Erst einmal soll der Loop loslaufen
Do Until YesNo = vbNo ' Loop-Anfang
' Ask for input...
Cntr_No = InputBox("Bitte Containernummer eingeben." & Chr(13) & "Ein Bruchstück (z.B. '123456' kann ausreichen!")
If Cntr_No = "" Then GoTo ENDE ' So fange ich den [Cancel]-Button ab
' .. go looking for it.
Cells.Find(What:=Cntr_No, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
' Fehlerbehandlung, wenn der String nicht gefunden werden kann...
' Hier brauche ich ein wenig Unterstützung...
If Status = False Then _
MsgBox ("Fehler")
ActiveCell.Offset(0, 1).Activate      ' In Feld mit ATB-Nr wechseln
ATB_No = Mid(ActiveCell, 7, 7)        ' Die richtigen Zahlen suchen
MyStr = Format(ATB_No, "0 00 00 -00") ' Suchergebnis formatieren
YesNo = MsgBox("Die ATB-Nr. lautet: '" & MyStr & "' - Soll eine weitere Nummer gesucht werden?", vbYesNo)
Loop ' Loop-Ende
' Ende vom Makro...
ENDE:
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: # Suchfunktion abfangen
20.04.2005 12:16:17
marcl
Hallo Nikolaus,

Sub FindATB_v2()
' FindATB Macro
' by Nikolaus Schumacher
' Sucht ATB-Nummer aus einer Tabelle
' Variables:
Dim Cntr_No, ATB_No, Response, MyStr, YesNo, Status
YesNo = vbYes ' Erst einmal soll der Loop loslaufen
Do Until YesNo = vbNo ' Loop-Anfang
' Ask for input...
Cntr_No = InputBox("Bitte Containernummer eingeben." & Chr(13) & "Ein Bruchstück (z.B. '123456' kann ausreichen!")
If Cntr_No = "" Then GoTo ENDE ' So fange ich den [Cancel]-Button ab
' Fehlermeldung
On Error Goto Errorhandler
' .. go looking for it.
Cells.Find(What:=Cntr_No, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Offset(0, 1).Activate      ' In Feld mit ATB-Nr wechseln
ATB_No = Mid(ActiveCell, 7, 7)        ' Die richtigen Zahlen suchen
MyStr = Format(ATB_No, "0 00 00 -00") ' Suchergebnis formatieren
YesNo = MsgBox("Die ATB-Nr. lautet: '" & MyStr & "' - Soll eine weitere Nummer gesucht werden?", vbYesNo)
Loop ' Loop-Ende
' Ende vom Makro...
ENDE:
Exit Sub
Errorhandler:
MsgBox ("Fehler")
End Sub

bitte
marcl
Anzeige
AW: # Suchfunktion abfangen
20.04.2005 12:27:33
Nikolaus
Danke, so geht das super!
Schönen Tag noch...
~~~~~~~~~~~~~~~~~~~~~

Sub FindATB_v2()
' FindATB Macro
' by Nikolaus Schumacher
' Sucht ATB-Nummer aus einer Tabelle
' Variables:
Dim Cntr_No, ATB_No, Response, MyStr, YesNo, Status
YesNo = vbYes ' Erst einmal soll der Loop loslaufen
Do Until YesNo = vbNo ' Loop-Anfang
START:
' Ask for input...
Cntr_No = InputBox("Bitte Containernummer eingeben." & Chr(13) & "Ein Bruchstück (z.B. '123456' kann ausreichen!")
If Cntr_No = "" Then GoTo ENDE ' So fange ich den [Cancel]-Button ab
' Fehlermeldung
On Error GoTo Errorhandler
' .. go looking for it.
Cells.Find(What:=Cntr_No, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
' Fehlerbehandlung, wenn der String nicht gefunden werden kann...
' Hier brauche ich ein wenig Unterstützung...
'If Status = False Then _
'MsgBox ("Fehler")
ActiveCell.Offset(0, 1).Activate      ' In Feld mit ATB-Nr wechseln
ATB_No = Mid(ActiveCell, 7, 7)        ' Die richtigen Zahlen suchen
MyStr = Format(ATB_No, "0 00 00 -00") ' Suchergebnis formatieren
YesNo = MsgBox("Die ATB-Nr. lautet: '" & MyStr & "' - Soll eine weitere Nummer gesucht werden?", vbYesNo)
Loop ' Loop-Ende
' Normaler Ausstieg aus dem Makro
ENDE:
GoTo E2
' Abfangen von Fehl-Strings
Errorhandler:
MsgBox ("Diesen String gibt es nicht...")
GoTo START
' Makro Ende
E2:
End Sub

Anzeige
AW: # Suchfunktion abfangen
20.04.2005 12:29:08
Nikolaus
Danke, so geht das super!
Schönen Tag noch...
~~~~~~~~~~~~~~~~~~~~~

Sub FindATB_v2()
' FindATB Macro
' by Nikolaus Schumacher
' Sucht ATB-Nummer aus einer Tabelle
' Variables:
Dim Cntr_No, ATB_No, Response, MyStr, YesNo, Status
YesNo = vbYes ' Erst einmal soll der Loop loslaufen
Do Until YesNo = vbNo ' Loop-Anfang
START:
' Ask for input...
Cntr_No = InputBox("Bitte Containernummer eingeben." & Chr(13) & "Ein Bruchstück (z.B. '123456' kann ausreichen!")
If Cntr_No = "" Then GoTo ENDE ' So fange ich den [Cancel]-Button ab
' Fehlermeldung
On Error GoTo Errorhandler
' .. go looking for it.
Cells.Find(What:=Cntr_No, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Offset(0, 1).Activate      ' In Feld mit ATB-Nr wechseln
ATB_No = Mid(ActiveCell, 7, 7)        ' Die richtigen Zahlen suchen
MyStr = Format(ATB_No, "0 00 00 -00") ' Suchergebnis formatieren
YesNo = MsgBox("Die ATB-Nr. lautet: '" & MyStr & "' - Soll eine weitere Nummer gesucht werden?", vbYesNo)
Loop ' Loop-Ende
' Normaler Ausstieg aus dem Makro
ENDE:
GoTo E2
' Abfangen von Fehl-Strings
Errorhandler:
MsgBox ("Diesen String gibt es nicht...")
GoTo START
' Makro Ende
E2:
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige