Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Infobox zum Thema

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.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige