Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Problem mit der "find" Methode





Frage

Hallo comunity, ich versuche gerade ein such funktion in Excel 2000 zu implementieren (hab auch schon sehr viel Hilfe hier gefunden) und bin erneut an ein Problem gestoßen. Die "find" funktion soll auch Werte finden die innerhalb eines längeren Strings sind. z.B. "Test" in "Testbericht". Wenn ich den Methodenaufbau richtig verstehe kann man das steuern duch den Parameter "LookAt" mit seinen Werten xlPart und xlWhole. Ich habe es jetzt auch in meinem Code probiert. Aber egal welchen Wert ich nehme, es macht keinen Unterschied. Ich hänge nochmal den entsprechenden Code mit an zum besseren Verständnis. Sub Duplikate_finden() Dim WS As Worksheet Dim Zeile As Integer, Bereich As Integer Dim Spalte As Integer Dim such As String On Error GoTo NixFind such = _ InputBox(prompt:= _ "please enter the code you are looking for: ", _ Title:="", Default:="") If such = "" Then MsgBox ("searchcanceled!") Exit Sub Else Debug.Print such End If For Each WS In Worksheets WS.Activate For Spalte = 1 To WS.Cells.Find("*", [A1], xlValues, xlPart, xlByColumns, xlPrevious).column [b]´ hier reagiert er nicht darauf wenn ich statt xlPart xlWhole schreibe[/b] Bereich = WS.Cells(WS.Cells.Rows.count, Spalte).End(xlUp).row For Zeile = Bereich To 1 Step -1 If WS.Cells(Zeile, Spalte) = such Then WS.Cells(Zeile, Spalte).Select ´Gefundene Zeile wird markiert Select Case MsgBox("Der Eintrag """ & WS.Cells(Zeile, Spalte).Value & """ befindet sich in Zelle " & WS.Cells(Zeile, Spalte).Address _ & Chr(13) & "Ist ihre Suche damit beendet?", vbYesNoCancel, "Sicherheitsabfrage...") Case 2 ´Schaltfläche Abbruch MsgBox ("Suche abgebrochen!") Sheets("MainMenue").Select Exit Sub Case 6 ´Schaltfläche Ja Exit Sub Case 7 ´Schaltfläche Nein End Select End If Next ´next row Next ´next column Next ´next sheet MsgBox "Es wurden keine weiteren Einträge gefunden!", , "Info..." Sheets("MainMenue").Select Exit Sub NixFind: MsgBox "Es wurde kein Eintrag gefunden!", , "Info..." Sheets("MainMenue").Select End Sub

Antwort 1 von Beverly

Hi,

schau mal, ob dir dieser Code weiterhilft

Sub Duplikate_finden()
    Dim WS As Worksheet
    Dim raZelle As Range
    Dim strAdresse As String
    Dim such As String
    Dim loTabelle As Long
    such = _
    InputBox(prompt:= _
    "please enter the code you are looking for: ", _
    Title:="", Default:="")
    If such = "" Then
        MsgBox ("searchcanceled!")
        Exit Sub
    End If
    For loTabelle = 1 To Worksheets.Count
        With Worksheets(loTabelle).UsedRange
            Set raZelle = .Find(such, lookat:=xlPart, LookIn:=xlValues)
            If Not raZelle Is Nothing Then
                strAdresse = raZelle.Address
                Do
                    raZelle.Interior.ColorIndex = 6
                    Select Case MsgBox("Der Eintrag """ & raZelle & """ befindet sich in Tabelle " & Worksheets(loTabelle).Name & " Zelle " & raZelle.Address _
                        & Chr(13) & "Ist ihre Suche damit beendet?", vbYesNoCancel, "Sicherheitsabfrage...")
                        Case 2 ´Schaltfläche Abbruch
                        MsgBox ("Suche abgebrochen!")
                        Exit Sub
                        Case 6 ´Schaltfläche Ja
                        Exit Sub
                        Case 7 ´Schaltfläche Nein
                    End Select
                    Set raZelle = .FindNext(raZelle)
                Loop While Not raZelle Is Nothing And raZelle.Address <> strAdresse
            End If
        End With
    Next loTabelle
    If raZelle Is Nothing Then MsgBox "Es wurden keine Einträge gefunden!", , "Info..."
End Sub


Bis später,
Karin

Antwort 2 von Handybike

HI Katrin,

danke für den Code. Der hat mir sehr geholfen. Musste aber noch eine Kleinigkeit ändern. Er meldete immer nach dreimal "nein" klicken das ein Fehler auftrat. Habe dann ein bischen herumprobiert und es hinbekommen.

Ich habe diese Zeile:
Set raZelle = .FindNext(raZelle)

geändert in:

Set raZelle = .FindNext(such)

Trotzdem herzlichen Dank

Gruß

Handybike

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: