Wert aus aktueller Zelle per VBA suchen
Schritt-für-Schritt-Anleitung
Um den Wert aus der aktuell markierten Zelle per VBA zu suchen und in einem anderen Tabellenblatt zu markieren, kannst du folgendes Makro verwenden:
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Klicke im Menü auf
Einfügen -> Modul, um ein neues Modul zu erstellen.
- Kopiere den folgenden Code in das Modul:
Sub Finden()
'Variablen definieren
Dim rng As Range
Dim strSuch As Variant
'Suchwort = Inhalt von aktiver Zelle
strSuch = ActiveCell.Value
'Wenn Zelle leer dann beende Makro
If strSuch = "" Then Exit Sub
'Suchbereich angeben und suchen
Set rng = Worksheets("Tabelle2").Range("B:B").Find(What:=strSuch, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
'Falls etwas gefunden wird
If Not rng Is Nothing Then
'Tabelle2 aktivieren und Suchbegriff anzeigen
Worksheets("Tabelle2").Activate
rng.Select
End If
'Variable zurücksetzen
Set rng = Nothing
End Sub
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Wähle eine Zelle aus, deren Wert du suchen möchtest, und führe das Makro aus.
Häufige Fehler und Lösungen
-
Fehler: "Das Makro kann nicht gefunden werden"
- Stelle sicher, dass du das Makro im richtigen Modul gespeichert hast und dass die Makros in deinen Excel-Einstellungen aktiviert sind.
-
Fehler: "Suchbegriff nicht gefunden"
- Überprüfe, ob der Wert in der aktiven Zelle tatsächlich in der angegebenen Spalte von Tabelle2 vorhanden ist.
-
Fehler: Makro läuft nicht
- Vergewissere dich, dass du eine Zelle ausgewählt hast, bevor du das Makro ausführst. Das Makro benötigt einen Wert aus der aktiven Zelle, um zu funktionieren.
Alternative Methoden
Eine alternative Methode, um Werte zu suchen, ist die Verwendung der VLOOKUP-Funktion in Excel. Diese Funktion kann verwendet werden, um Werte in einer Tabelle zu finden, ohne VBA zu verwenden. Hier ein Beispiel:
=VLOOKUP(A1, Tabelle2!B:C, 2, FALSE)
Diese Formel sucht den Wert in Zelle A1 in der Spalte B von Tabelle2 und gibt den entsprechenden Wert aus Spalte C zurück.
Praktische Beispiele
Angenommen, du hast folgende Werte in Tabelle1:
Und in Tabelle2:
Wenn du das Makro ausführst, während "Banane" in der aktiven Zelle steht, wird Excel die Zelle mit "Banane" in Tabelle2 markieren.
Tipps für Profis
- Verwende die
FindNext-Methode, um alle Vorkommen eines Wertes zu finden, nicht nur das erste.
- Optimiere dein Makro, indem du die Suchparameter anpasst, z.B.
LookAt:=xlWhole, um nur exakte Übereinstimmungen zu finden.
- Kommentiere deinen Code, um die Lesbarkeit zu verbessern und zukünftige Änderungen zu erleichtern.
FAQ: Häufige Fragen
1. Wie kann ich den Suchbereich anpassen?
Du kannst den Suchbereich im Code ändern, indem du die Zeile Set rng = Worksheets("Tabelle2").Range("B:B") anpasst, z.B. Range("B1:B10"), um nur die ersten 10 Zeilen zu durchsuchen.
2. Funktioniert das auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Makros. Diese Anleitung gilt nur für die Desktop-Version von Excel.