EXCEL - VBA: Mit Range.Find nach einem Wert suchen
Inhaltsverzeichnis
Problemdefinition
Der Benutzer möchte innerhalb eines bestimmten Bereichs in Excel nach einem Wert suchen. Wenn der Wert vorhanden ist, benötigt er die Adresse bzw. die Zeilennummer. Wenn der Wert nicht vorhanden ist, muss dies ebenfalls erkannt werden.
Lösungsansatz
VBA bietet eine Methode namens Range.Find
, die verwendet werden kann, um nach einem bestimmten Wert in einem Bereich zu suchen. Diese Methode gibt das erste Vorkommen des gesuchten Wertes als Range
-Objekt zurück, oder Nothing
, wenn der Wert nicht gefunden wurde.
Code
Hier ist ein Beispielcode, der die Range.Find
Methode verwendet:
Sub FindValue()
Dim ws As Worksheet
Dim searchRange As Range
Dim foundRange As Range
Dim searchValue As Variant
Set ws = ThisWorkbook.Sheets("Sheet1")
Set searchRange = ws.Range("A1:A10")
searchValue = "Suchwert"
Set foundRange = searchRange.Find(searchValue)
If Not foundRange Is Nothing Then
MsgBox "Wert gefunden in " & foundRange.Address & " (Zeile " & foundRange.Row & ")"
Else
MsgBox "Wert nicht gefunden"
End If
End Sub
Verwendung der Lösung
Die FindValue
-Prozedur kann direkt in einem VBA-Modul eingefügt werden. Ändere den searchRange
und searchValue
nach Bedarf, und führe dann die FindValue
-Prozedur aus.
Zusammenfassung
Die Range.Find
Methode in VBA ermöglicht das Suchen nach einem bestimmten Wert in einem Bereich. Der obige Code sucht nach einem bestimmten Wert in einem festgelegten Bereich und gibt die Adresse und die Zeilennummer des gefundenen Werts aus, oder eine Meldung, dass der Wert nicht gefunden wurde.