Microsoft Excel

Herbers Excel/VBA-Archiv

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

VBA Suchfunktion erweitern

Betrifft: VBA Suchfunktion erweitern von: Glen
Geschrieben am: 21.07.2008 09:04:02

Hallo liebe Leute

Folgendes Sheet habe ich mir ab der Herber CD gezogen.
Zur Funktion:

Nach Eingabe in Suchbegriff und Klick auf Eintragen, wird der Begriff gesucht und wenn dieser gefunden wurde, wird das Resultat - Begriff unterhalb des Suchbegriffs in der Tabelle - in der UserForm ausgegeben.

Nun wollte ich fragen, ob mich jemand dabei unterstützen kann, die Funktion dahingehend zu erweitern, dass nicht nur eine Zelle unterhalb gesucht wird, sondern in allen Zellen bis die nächste leere Zelle erscheint.

Hier der bestehende Code:


Private Sub CommandButton1_Click()
Dim gZelle As Range
    Set gZelle = Worksheets("Daten").Columns(1).Find(TextBox1.Text, lookat:=xlWhole)
    If gZelle Is Nothing Then
        Label3.Caption = "Nicht gefunden!"
    Else
        Label3.Caption = gZelle.Offset(1, 0)
    End If
End Sub



Für eure Hilfe schon im voraus tausend Dank.

Freundlicher Gruss, Glen

  

Betrifft: AW: VBA Suchfunktion erweitern von: Klaus-Dieter
Geschrieben am: 21.07.2008 10:22:21

Hallo Glenn,

Herbert hat da die Find-Methode verwendet. In der Excelhilfe findest du die Methode mit der Möglichkeit auch mehrere Treffer zu erhalten:

With Worksheets(1).Range("a1:a500")
    Set c = .Find(2, lookin:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Value = 5
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With



Das musst du nur noch auf deine Anforderung anpassen. Man kann die Treffer zum Beipiel mit AddItem in eine Listbox schreiben.


Viele Grüße Klaus-Dieter
Klaus-Dieter's Excel und VBA Seite
Online-Excel


  

Betrifft: AW: VBA Suchfunktion erweitern von: Klaus-Dieter
Geschrieben am: 21.07.2008 10:25:47

Hallo Glenn,

Herbert hat die Find-Methode verwendet. In der Excel-Hilfe ist beschrieben, wie man die auch für mehrere Treffer verwenden kann:

With Worksheets(1).Range("a1:a500")
    Set c = .Find(2, lookin:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Value = 5
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With



Das musst du nur noch an deine Anfoerungen anpassen. Man kann die Treffen zum Beispiel mit AddItem in ein Listenfeld schreiben.


Viele Grüße Klaus-Dieter

Klaus-Dieter's Excel und VBA Seite
Online-Excel



 

Beiträge aus den Excel-Beispielen zum Thema "VBA Suchfunktion erweitern"