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

Suchfunktion wiederholt sich und Ergebnis in ...


Betrifft: Suchfunktion wiederholt sich und Ergebnis in ... von: Carsten
Geschrieben am: 30.04.2017 11:02:55

Schönen Sonntag euch allen,

ich bastel mir gerade ne Suchfunktion und bin soweit auch fertig, zumindest das ich die Adressen in ner Msgbox ausgegeben bekomme.

  • Private Sub CommandButton1_Click()
    
    Dim TextBox2 As String
    Dim WS As Worksheet: Set WS = ActiveSheet
    Dim aSh As Worksheet
    Dim sfErg As Range
    Dim lastrow As Long
    
        If TextBox1 = "" Then
            MsgBox "Bitte Suchbegriff eingeben!"
        Else
     
    
    eingabe = TextBox1.Value
    lastrow = WS.UsedRange.Rows(WS.UsedRange.Rows.Count).Row
    
        On Error Resume Next
        
        
        With WS.Range("A:A")
            Set sfErg = .Find(eingabe) ', , xlValues, xlWhole, xlByRows
            Do: If MsgBox("" & eingabe & " wurde gefunden in Zelle: " & sfErg.Address(0, 0),  _
    vbInformation + vbOKCancel, _
                          "Wert wurde gefunden in: ") = vbCancel _
                          Then Exit Do
                          
            Set sfErg = .FindNext(sfErg)
            firstAddress = sfErg.Address
        
            Loop While Not sfErg Is Nothing
            
        End With
        
        Set aSh = Nothing: Set sfErg = Nothing
        
    End If
    
    End Sub


  • Mein Problem: Er er hört nicht beim letzten Treffer auf habe es schon versucht mit lastrow allerdings fängt er bei mir wieder vorne an mache da wohl was falsch =(

    Desweiteren ist es möglich die ergebnisse in Spalte D fortlaufend einzutragen? Bekomme sie zurzeit nur in ner msgbox und sobald ich ne Adresse zum schreiben dazu packe kommt Error :(

    Vielen dank schonmal !:)

      

    Betrifft: AW: Suchfunktion wiederholt sich und Ergebnis in ... von: Werner
    Geschrieben am: 30.04.2017 11:12:58

    Hallo Carsten,

    für das erste Problem:

    Loop While Not sfErg Is Nothing And sfErg.Address <> firstAddress
    Für das zweite Problem bitte eine Beispielmappe.

    Gruß Werner


      

    Betrifft: AW: Suchfunktion wiederholt sich und Ergebnis in ... von: Carsten
    Geschrieben am: 30.04.2017 11:35:48

    Habe Sie mal hochgeladen:

    https://www.herber.de/bbs/user/113208.xlsm


    und zwar hab ich deine Zeile mal hinzugefügt dann findet er allerdings nur noch einen Wert. Gib z.B. mal 100 ein in die Suche dann weißt du was ich meine. :)

    Hab bestimmt etwas falsch verzweigt :(

    Danke :)


      

    Betrifft: AW: Suchfunktion wiederholt sich und Ergebnis in ... von: Crazy Tom
    Geschrieben am: 30.04.2017 16:47:44

    Hallo Carsten

    firstAddress gehört gleich hinters gefundene

    Private Sub CommandButton1_Click()
        Dim WS As Worksheet: Set WS = ActiveSheet
        Dim sfErg As Range
        Dim eingabe As String
        If TextBox1 = "" Then
            MsgBox "Bitte Suchbegriff eingeben!"
        Else
            eingabe = TextBox1.Value
            With WS.Range("A:A")
                Set sfErg = .Find(eingabe, LookIn:=xlValues, lookat:=xlWhole)
                If Not sfErg Is Nothing Then
                    firstAddress = sfErg.Address
                    Do
                        If MsgBox("" & eingabe & " wurde gefunden in Zelle: " _
                            & sfErg.Address(0, 0), vbInformation + vbOKCancel, _
                            "Wert wurde gefunden in: ") = vbCancel Then Exit Do
                        Set sfErg = .FindNext(sfErg)
                        
                    Loop While Not sfErg Is Nothing And sfErg.Address <> firstAddress
                End If
            End With
        End If
    End Sub
    MfG Tom


      

    Betrifft: AW: Suchfunktion wiederholt sich und Ergebnis in ... von: Sepp
    Geschrieben am: 30.04.2017 11:13:53

    Hallo Carsten,

    ungetestet!

    Private Sub CommandButton1_Click()
    Dim rngFind As Range
    Dim strFirst As String

    If TextBox1 = "" Then
      MsgBox "Bitte Suchbegriff eingeben!"
    Else
      With ActiveSheet
        Set rngFind = .Range("A:A").Find(TextBox1.Text) ', , xlValues, xlWhole, xlByRows
        If Not rngFind Is Nothing Then
          strFirst = rngFind.Address
          Do
            .Cells(.Rows.Count, 4).End(xlUp).Offset(1, 0) = rngFind.Value
            Set rngFind = .Range("A:A").FindNext(rngFind)
          Loop While Not rngFind Is Nothing And strFirst <> rngFind.Address
        Else
          MsgBox "Nichts gefunden!"
        End If
      End With
    End If
    Set rngFind = Nothing
    End Sub


    Gruß Sepp



    Beiträge aus den Excel-Beispielen zum Thema "Suchfunktion wiederholt sich und Ergebnis in ..."