Range.Find funktioniert nicht
08.06.2020 08:43:34
Simon
ich möchte folgendes Umsetzen:
- Ich habe verschieden Buttons (Shapes), die ich drücken kann, in denen ein Thema steht (GF_Thema genannt im Code)
- Durch drücken der Buttons wird eine Funktion aufgerufen (GF_Finden). Diese ruft wiederum eine Funktion auf, die den alternativeText des Shapes in einen String (also GF_Thema) in GF_Finden übergibt.
- Anschließend möchte ich mit der Range.Find Methode das GF_Thema in einer Tabelle finden.
Folgendes Problem:
- ich bekomme die Meldung, dass das Thema nicht gefunden wurde, obwohl der übergebene String korrekt ist und er auch im richtigen Tabellenblatt schaut.
- Wenn ich einen String deklariere und das gesuchte Thema per Hand reinschreibe und dann danach suche, funktioniert es.
- Ich habe schon versucht den alternativeText im selben Sub zu deklarieren und auch diesen Cstr als String zu Casten. Beides mit dem selben Ergebnis.
Habt ihr noch eine Idee, woran das liegen kann, dass mein gesuchter String nicht gefunden wird.
Vielen Dank im Voraus
Simon
Public Sub GF_Finden()
Dim rgFound As Range
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Worksheets("Referenz")
Call ThemaAuswählen(GF_Thema)
Debug.Print ws.Name
Debug.Print GF_Thema
Set rgFound = Range("B:B").Find(What:=GF_Thema, LookIn:=xlValues, LookAT:=xlPart, _
SearchDirection:=xlNext)
'Bei der suche muss eigentlich ein Filter gesetzt werden, oder man löscht alle (aus DU..) in _
den Spalten
If rgFound Is Nothing Then
MsgBox ("Thema: " & GF_Thema & " nicht gefunden")
Exit Sub
Else
MsgBox ("Thema:" & GF_Thema & " in Zeile:" & rgFound.Address & " gefunden")
End If
End Sub
Public Sub ThemaAuswählen(ByVal GF_Thema As String)
Dim sh As Shape
Set sh = ActiveSheet.Shapes(Application.Caller)
GF_Thema = sh.AlternativeText
End Sub