Hallo
es gibt dafür zwei verschiedene Makro Lösungen, sie unterscheiden sich in der Fehlerbehandlung und in Select.
Die erste Lösung ist die normale Standard Such & Find Funktion wie sie auch mit Ctrl H aufgerufen werden kann.
Dabei muss On Error GoTo Fehler eingefügt werden, sonst gibt es bei "No Find" einen Laufzeitfehler (Absturz).
Die zweite Lösung benutzt die bei Programmierer beliebtere Set Methode, wo man If rFind Is Nothing auswertet!
Welche Version dir besser gefaellt, du lieber benutzen willst bleibt dir überlassen. Sie funktionieren beide gleich gut.
mfg Gast 123
Code:
'Gast 123 für Clever Forum
Const SuchBereich = "B1:B29"
Const ConName = "Finde String"
'Lösung 1: über Standard Find Funktion
'erfordert unbedingt: On Error Goto Fehler
Sub String_suchen_über_Find()
Dim rFind As Object, SuchName As String
'Lade Such-Name aus Constant Anweisung
SuchName = ConName
'Lade Such-Name aus Zelle: z.B. "H1"
SuchName = Range("H1").Value
On Error GoTo Fehler
Range(SuchBereich).Find(What:=SuchName, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False).Activate
MsgBox "Hier geht es jetzt im Makro weiter ....."
'Hier steht dein Makro was ausgeführt werden soll !!
'Es muss wegen "Fehler" mit Exit Sub beendet werden
Exit Sub
Fehler: MsgBox "String nicht gefunden"
End Sub
'Lösung 2: über Set Find Funktion
'No Find = Aussprung über: If rFind Is Nothing
Sub String_suchen_über_Set_Find()
Dim rFind As Object, SuchName As String
'Lade Such-Name aus Constant Anweisung
SuchName = ConName
'Lade Such-Name aus Zelle: z.B. "H1"
SuchName = Range("H1").Value
Set rFind = Range(SuchBereich).Find(What:=SuchName, After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=True)
'Wert wurde nicht gefunden, Aussprung mit Meldung
If rFind Is Nothing Then MsgBox "String nicht gefunden": Exit Sub
MsgBox "Hier geht es jetzt im Makro weiter ....."
MsgBox rFind.Address
'Hier steht dein Makro was ausgeführt werden soll !!
End Sub