AW: InputBox (Suche) ohne "Abbrechen"-Möglichkeit
16.12.2003 15:20:29
Dominik
Danke dir Thomas... hm, wenn's so nicht geht versuch ich's anders. Das Problem bei der ganzen Sache ist folgendes: Nach Druck auf einen Button in einem Userform wechselt das Tabellenblatt, die Userform wird per "Hide" versteckt und eine Input-Box öffnet sich. Gibt man hier einen Suchbegriff ein wechselt das Tabellenblatt, eine bestimmte Spalte wird nach dem Suchbegriff durchsucht und eine andere Zelle der Zeile in der der Suchbegriff gefunden wird in einer Message-Box angezeigt - mit der Option weiterzusuchen. Mein Problem ist nun folgendes: Klicke ich ohne einen Suchbegriff einzugeben in der Input-Box auf "Abbrechen" wird die Massage-Box mit der Option weiterzusuchen trotzdem geöffnet (diesmal natürlich leer). Wie kann ich das umgehen? Hier mein Code:
Sub CommandButtonSuche_Click()
Sheets("Tabelle1").Select
UserFormSuche.Hide
Dim Suchbegriff As Range, Suchtext$, Bereich$, Ausgang$
Dim ZuDurchsuchendeSpalte%, ZuZeigendeSpalte%, weiter%
Suchtext = "Beispieltext"
ZuDurchsuchendeSpalte = 9
ZuZeigendeSpalte = 1
Suchtext = InputBox("Bitte geben Sie den zu suchenden Begriff ein!", "Suchtext")
Set Suchbegriff = Columns(ZuDurchsuchendeSpalte).Find(what:=Suchtext)
If Suchbegriff Is Nothing Then Exit
Sub
weiter = MsgBox(Cells(Suchbegriff.Row, ZuZeigendeSpalte) & Chr(10) & "Soll weitergesucht werden?", vbYesNo + vbQuestion, Suchtext & " - Weitersuchen?")
If weiter = vbNo Then Exit Sub
Bereich = Suchbegriff.Address
Ausgang = Bereich
Do While Suchbegriff Is Nothing = False
Set Suchbegriff = Columns(ZuDurchsuchendeSpalte).Find(what:=Suchtext, After:=Range(Ausgang))
If Suchbegriff.Address = Bereich Then Exit Sub
weiter = MsgBox(Cells(Suchbegriff.Row, ZuZeigendeSpalte) & Chr(10) & "Soll weitergesucht werden?", vbYesNo + vbQuestion, Suchtext & " - Weitersuchen?")
If weiter = vbNo Then Exit Sub
Ausgang = Suchbegriff.Address
Loop
End Sub
Gruß,
Dominik