Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
244to248
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
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchen in UserForm

Suchen in UserForm
16.04.2003 10:27:49
Olivier
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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Suchen in UserForm
16.04.2003 11:06:08
DetlefD

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

Anzeige
Re: Suchen in UserForm
16.04.2003 12:34:02
Olivier

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
16.04.2003 13:29:07
DetlefD

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

Anzeige
Re: Suchen in UserForm
16.04.2003 14:08:01
Olivier

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige