Text aus Text Box in Spalte Finden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Text aus Text Box in Spalte Finden
von: Robert
Geschrieben am: 06.11.2015 08:43:21

Hallo, ich versuche gerade die Finden-Funktion (STRG+F) per VBA nachzubauen.
Habe ein UserForm mit einer TextBox und einem CmdButton erstellt. Wenn in die TextBox nun ein Wert eingetragen wurde, soll der Wert in der Spalte G gesucht und gescrollt werden (wie bei der Finden-Funktion von Excel. Leider funktioniert mein Befehl nicht:

Sub CommandButton1_Klicken()
   With Worksheets("Option")
    Columns("G:G").Select
    Selection.Find(What:=TextBox1.Text, After:=ActiveCell, LookIn:=xlValues, LookAt _
        :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
        
End With
End Sub

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: matthias
Geschrieben am: 06.11.2015 09:00:07
Hallo Robert,
dein Problem ist nur ein kleiner Punkt und damit meine ich das Zeichen "."
Denn die With-Anweisung wird nur vor etwas geschrieben was mit einem Punkt beginnt. Dadurch wurde dein Worksheets("Option") nicht vor deine Spalte geschrieben und er hat im aktiven Tabellenblatt gesucht, was mit Sicherheit das falsche war.
Das Select-Selection kannst du übrigens zusammenführen und bei einer Spalte braucht man nicht Von-Bis angeben.

With Worksheets("Option")
    .Columns("G").Find(What:=...
lg Matthias

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: Robert
Geschrieben am: 06.11.2015 09:26:15
Hallo Matthias, vielen Dank für deine Antwort. Leider Funktioniert es immer noch nicht:

Sub CommandButton1_Klicken()
   With Worksheets("Option")
    .Columns("G").Select
    Selection.Find(What:=TextBox1.Text, After:=ActiveCell, LookIn:=xlValues, LookAt _
        :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
            
End With
End Sub
Auch wenn ich die Select Methode weglasse funktioniert es nicht :(

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: daniel
Geschrieben am: 06.11.2015 09:24:38
Hi
du solltst auch den Fall abfangen, dass der gesuchte Wert nicht vorhanden ist. In diesem Fall möchtest du ja wahrscheinlich keinen Fehlerabbruch, sondern keine Aktion oder eine Hinweismeldung:

Sub CommandButton1_Click()
im Zelle as range
Set Zelle =  Worksheets("Option").Columns("G:G").Find( _
                                         What:=TextBox1.Text, After:=ActiveCell, _
                                         LookIn:=xlValues, LookAt:=xlPart, _
                                         SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
                                         MatchCase:= False, SearchFormat:=False)         
If Zelle is Nothing then
    Msgbox "kein Treffer"
else
    Application.Goto Zelle
end if
End Sub
btw bei diesen Eventmakros, dh bei Makros bei bei Mausklick oder ähnlichem ausgeführt werden sollen, musst du die vorgegebene Schreibweise des Makronamens exakt einhalten, sonst kann VBA dieses Makro der entsprechenden Aktion nicht zuordnen und ausführen. Eigene Markonamen darfst du dir hier nicht ausdenken.
Gruß Daniel

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: Robert
Geschrieben am: 06.11.2015 09:43:47
Hi Daniel, ich musste ein wenig schmunzeln aufgrund des Makronamens. Das war keine Absicht :D
Der Debugger wirft hier den Fehler aus "Objekt erforderlich":
Set Zelle = Worksheets("Option").Columns("G:G").Find( _
What:=TextBox1.Text, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:= False, SearchFormat:=False)

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: daniel
Geschrieben am: 06.11.2015 09:54:06
Hi
der Fehler kommt bei mir nur dann, wenn ich keine Textbox1 habe.
wie du deine TextBox benannt hast, musst du selber wissen, da kann ich nur das übernehmen, was du mir zeigst.
Ich gehe halt immer davon aus, dass du den Code auch tatsächlich in einer Exceldatei hast und einfach nur per Copy-Paste übertragen musst (würde ich schon aus Faulheit so machen).
was ich noch vergessen habe: lösche den Parameter: After:=ActiveCell
den brauchst du hier nicht und er könnte zu Fehlern führen, weil so wie ich das programmiert habe, der zu durchsuchende Bereich nicht Selektiert wird und damit dann u.U. die aktive Zelle nicht Bestandteil des des durchsuchten Bereichs ist und deswegen nicht bei After verwendent werden darf.
Gruß Daniel

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: Robert
Geschrieben am: 06.11.2015 10:32:51
Ich habe meinen Fehler gefunden. Die Anführungszeichen bei der TextBox1.Text haben gefehlt. Wenn ich den Sub jetzt über den Editor ausführe kommt die MsgBox "Kein Treffer".
Trage ich nun allerdings einen Wert in die TextBox ein und klicke den Button, passiert nichts. Kann es sein das ich noch irgendwelche Einstellungen in den Elementen/UserForm vornehmen muss?

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: daniel
Geschrieben am: 06.11.2015 11:52:48
kann sein, es kann auch was ganz anderes sein.
ich kenne deine Datei nicht und kann dir auch nicht sagen, was du falsch gemacht hast.
da du es ja auch schaffst, den Makronamen zu verändern, wenn du ihn aus deiner Datei hier im Forum vorstellst, ergbit das natürliche eine sehr grosse Bandbreite an möglichen Fehlern.
Gruß Daniel

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: Robert
Geschrieben am: 06.11.2015 12:01:47


Sub Schaltfläche2_Klicken()
UserForm1.Show
End Sub

------------------------------------------------------------------------
Sub CommandButton1_Click()
Dim Zelle As Range
Set Zelle = Worksheets("Option").Columns("G:G").Find(What:="TextBox1.Text", _
                                         LookIn:=xlValues, LookAt:=xlPart, _
                                         SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
                                         MatchCase:=False, SearchFormat:=False)
                                         
If Zelle Is Nothing Then
    MsgBox "kein Treffer"
Else
    Application.Goto Zelle
   
End If
End Sub

So sehen meine Makros aus, sprich in dem Sheet ist eine Schaltfläche, die ein Userform aktiviert.
In dem UserForm ist dann eine TextBox und ein CommandButton. Der CommandButton im UserForm funktioniert nicht.

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: daniel
Geschrieben am: 06.11.2015 12:04:57
Hi
das sucht den Text "Textbox1.Text"
wenn du den Inhalt der Textbox1 suchen willst, musst du das ohne Anführungszeichen hinschreiben.
Gruß Daniel

Bild

Betrifft: AW: Text aus Text Box in Spalte Finden
von: Robert
Geschrieben am: 06.11.2015 14:35:57
Hallo, das Makro an sich funktioniert! Sprich, wenn ich statt der TextBox1 einen Wert eintrage, wird das Makro korrekt ausgeführt. Anscheinend gibt es ein Problem mit der TextBox Verknüpfung aus dem UserForm. Ich habe die TextBox zum Test auch schon umbenannt und den Namen übernommen.
Hat noch jemand eine Idee?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Text aus Text Box in Spalte Finden"