Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

# 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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige