Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mit VBA nach einem Wert suchen

Forumthread: Mit VBA nach einem Wert suchen

Mit VBA nach einem Wert suchen
10.02.2004 10:34:06
Hans
Hallo,
ich muss mit VBA innerhalb einem bestimten Bereich nach einem Wert suchen.
Wenn der Wert vorhanden ist, benötige ich die Adresse bzw. die Zeilennummer.
Wenn der Wert nicht vorhanden ist, muss ich dies auch erkennen.
Vielen Dank im Voraus für Eure Hilfe
Hans
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit VBA nach einem Wert suchen
10.02.2004 10:42:48
Alex K.
Hallo Hans,
so dürfte es gehen.

Dim rng as Range
set rng = ActiveSheet.Range("A1:B100").Find("Suchbegriff")
if rng is nothing then
MsgBox "Nichts gefunden"
exit sub
end if
MsgBox "Zeile: " & rng.row & "; Adresse: " & rng.Address

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige