AW: Suche durch Textbox-Eingabe
25.08.2006 14:00:42
ingUR
Hallo, Marko,
Es wurden Dir hier zwei unterschiedliche Prozedurtypen vorgestellt.
Manfred lieferte Dir eine Modul-Prozedur, die Du nur ohne die beiden notwendigen Prozedurbegrenzerzeilen Sub und End Sub in Deine vorgefertigte "Hülle" einfügen darfst.
Private Sub TextBox1_Change
'<strike>Sub SuchenUndFinden()</strike>
Cells.Select
Frage = InputBox("wonach soll gesucht werden?")
Selection.Find(What:=Frage, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
'<strike>End Sub</strike>
End Sub
Alternativ kannst Du bara auch eine Modulprozedur daraus machen, indem Du die Command-Event-Prozedurbegrenzer streichtst und den Code in den Modul-Ordner des Projektes einfügst.
'<strike>Private Sub TextBox1_Change()</strike>
Sub SuchenUndFinden()
Cells.Select
Frage = InputBox("wonach soll gesucht werden?")
Selection.Find(What:=Frage, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
End Sub
'<strike>End Sub</strike>
Als Modul wird es mit einem Makroaufruf [Alt][F8] gestartet und wird so funktionieren, solange der Suchwert existiert (weiter Erweiterungen sind zu ergänzen).
Als Commandbutton_Click()-Prozedur, wie Du sie eigentlich erfragt hast - m.E. ist jedoch für das Springen zu einer bestimmten Tabellenposition die Makrofunkltion mit der Inputbox-Abfrage die vorzuziehende Lösung - so ist die Lösung von Chris (umgesetzt von Oberschlumpf; XLS-Datei hebe ich nicht geladen) vorzusehen, bei der jedoch die Form möglicherweise das Sprungziel verdeckt, da sie auf das nächste Kommando wartet und nicht geschlossen wird.
Gruß,
Uwe