Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Suchen in UserForm

Betrifft: Suchen in UserForm
von: Olivier
Geschrieben am: 16.04.2003 - 10:27:49

Hallo,

Ich hoffe mir kann jemand helfen. Ich habe folgendes Problem. Wenn ich mit dem folgenden code auf den Button "Suchen" klicke, erscheinen in meinem UserForm1 die gewünschten Angaben. Wenn ich nun erneut drauf klicke sucht es nicht den nächsten ähnlichen oder gleichen Text. Es bleibt immer beim selben ort stehen.

Was muss ich eingeben, damit es bei jedem click zum nächsten Text springt und mir auch den entsprechenden Text in den feldern anzeigt??

Vielen Dank schon im voraus.

Hier der Code den ich jetzt habe:

Private Sub CommandButton2_Click()
Set frm1 = UserForm1
With frm1
Range("A:A").Select
On Error GoTo fehler
Selection.Find(what:=.TextBox1.Value, _
after:=ActiveCell, _
LookIn:=xlFormulas, lookat:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
.TextBox1.Value = TextBox1.Value
.TextBox2.Value = ActiveCell.Offset(0, 2).Value
.TextBox3.Value = ActiveCell.Offset(0, 3).Value
Exit Sub
fehler:
MsgBox "Der Begriff: " & _
.TextBox1.Value & " konnte nicht gefunden werden!"
End With
End Sub

  

Re: Suchen in UserForm
von: DetlefD
Geschrieben am: 16.04.2003 - 11:06:08

Hallo Olivier,
also ich mache das immer folgendermaßen:
Für die suche nach dem ersten Eintrag:

Selection.Find(What:=textbox1.value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
zeilennummer= Application.ActiveCell.Row

Um dann weiter zu suchen:
do
vorherige_zeilennummer= zeilennummer
Selection.FindNext(After:=ActiveCell
zeilennummer = Application.ActiveCell.Row
loop while zeilennummer > vorherige_zeilennummer

Mit der Zeilennummer kannst Du dann die Zellen auslesen und in Deine Textboxen schreiben.

Gruß,
DetlefD

  

Re: Suchen in UserForm
von: Olivier
Geschrieben am: 16.04.2003 - 12:34:02

Hmm,

danke aber leider verstehe ich nicht ganz wie ich das einfügen soll.

Kannst du mir da evtl. helfen?

Vielen dank.

Gruss Olivier

  

Re: Suchen in UserForm
von: DetlefD
Geschrieben am: 16.04.2003 - 13:29:07

Also..
mit dem ersten Teil suche ich den ersten Eintrag.
"Application.ActiveCell.Row" gibt mir dann die Zeile aus in der der Eintrag gefunden wurde. Den schreibe ich in eine Variable.
Mit dieser Variable lese ich dann die Zeilen aus zB.

textbox3.text = cells(zeilennummmer,3).value
textbox4.text = cells(zeilennummer,4).value

Um mit dem gleichen Begriff weiter zu suchen benutze ich dann den zweiten Teil.
Die Sache "vorherige_zeilennummer= zeilennummer" in Verbindung mit "loop while zeilennummer > vorherige_zeilennummer" ist notwendig da die Funktion, wenn sie keine weiteren Einträge mehr findet, wieder von oben anfängt.
Das Auslesen Funktioniert dann wie im ersten Teil. Wenn Du das ganze so machen willst, das mit "einem" Button bei jedem Betätigen der nächsten Eintrag angezeigt werden soll, müßtest Du es so machen das beim ersten Betätigen des Buttons der erste Teil des Programms ausgeführt wird, und bei jedem weiteren der zweite Teil.

Gruß,
DetlefD

  

Re: Suchen in UserForm
von: Olivier
Geschrieben am: 16.04.2003 - 14:08:01

Danke Detlef,

das ist mir alles noch etwas zu hoch. Werde wohl noch weitersuchen. Bin eben Anfänger. Leider ;-)

Naja.. Ich habe schon mal einen neuen Button für Nächste auf das Formular getan. Wenn ich zwei mal drauf klicke muss ich jetzt ein Makro einfügen. Es erscheint:

Private Sub CommandButton4_Click()

End Sub

Was genau ich da einfügen muss interessiert mich eben.. Tja ein Kurs wird wohl von nöten Sein :-)

Jedenfalls danke und Gruss
Olivier

 

Beiträge aus den Excel-Beispielen zum Thema "Suchen in UserForm"