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

"Text" in Spalte suchen (VBA)

Forumthread: "Text" in Spalte suchen (VBA)

"Text" in Spalte suchen (VBA)
20.01.2004 19:18:35
DieterB
Hallo Ihr lieben,
habe schon die Recherche bemüht, bin aber nicht fündig geworden.
Situation:
in Spalte b in den Zeilen 4-10 steht ein Name.
Diesen muss ich über VBA finden (Zelle ist variabel).
Das heisst: ich muß die Zellen B4:B10 nach diesem (vorher in Variable gespeichert) Namen durchsuchen und wenn er gefunden wurde, soll etwas passieren.
Frage: wie lautet der Code für das Auffinden???
Diser Name kann irgenwo in Zeile 4 - 10 stehen.
Gruß
DieterB
P.S. eigentlich ganz einfach aber ich komm da nicht drauf.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Text" in Spalte suchen (VBA)
20.01.2004 19:37:10
Ramses
Hallo
bei VBA gut würde ich einen Blick in die Online Hilfe empfehlen und dort nach "Find" suchen, oder den Makrorekorder mal aufzeichnen lassen.
Die einfachste/primitivste Variante ist sicherlich eine Schleife
Dim myC as Range
Range("B4:B10").Select ' ich weiss, ist nicht schön soll aber jetzt nur funktionieren :-)
For each myC in Selection
if myC.Value = "Deine Variable" Then
Dein Code
Exit Sub
End If
Next
Gruss Rainer
Anzeige
AW: "Text" in Spalte suchen (VBA)
20.01.2004 20:18:13
eugen
Hallo Dieter,
ich weis ja nicht was du genau machen willst,habe dir noch eine evtl. andere Lösung:
Wenn du in einer X-Beliebigen Zelle stehst,wird der Wert in "Zelle_A" zwischen gespeichert .Jetzt wird die Spalte B4:B10 nach diesem Wert durchsucht .
Dann wird ein Offset von +1 gemacht und aus dieser neuen Zeile diese Daten gespeichert in "Spalte_1" ,diese Daten werden jetzt in zBsp.A2 gespeichert.
Diese Funkltion verwende ich oft um Datenbanken zu durchsuchen und Wert daraus in andere Tabellen zuschreiben.

Sub Makro1()
Zelle_A = ActiveCell.FormulaR1C1  'position wo ich mich befinde speichern
Range("B4:B10").Select
'suchen
Selection.Find(What:=Zelle_A, After:=ActiveCell, LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Activate
'speichere eine Zelle nach vorne ab
ActiveCell.Offset(0, 1).Range("A1").Activate
Spalte_1 = ActiveCell.FormulaR1C1
'schreibe den Wert Spalte_1 in zBsp.A2
Range("A2").Select
ActiveCell.FormulaR1C1 = Spalte_1
End Sub


vielleicht hast du Verwendung dafür
gruß eugen
Anzeige
AW: "Text" in Spalte suchen (VBA)
21.01.2004 07:31:39
DieterB
Hallo Rainer,
hallo Eugen,
danke für eure Hilfe.
Ich habe gestern allerdings vergass zu erwähnen,
ich durchsuche die Zellen B4:B10, wenn das was ich suche (ich nenne es mal "hallo")
in Zelle B4 steht, wird Makro1 ausgeführt, wenn "hallo" in Zelle B5 steht, wird Makro5 ausgeführt.
Mein Problem ist einfach, wie frage ich den Wert der zelle ab?
Gruß
DieterB
Anzeige
Danke geschlossen o.T.
21.01.2004 12:33:35
DieterB
.
;

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

Text in einer Spalte suchen und finden mit VBA


Schritt-für-Schritt-Anleitung

Um in Excel Text in einer bestimmten Spalte mit VBA zu suchen, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Einfügen eines neuen Moduls:

    • Klicke auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.
  3. Code eingeben:

    • Füge den folgenden Code in das Modul ein:
Sub TextInSpalteSuchen()
    Dim myC As Range
    Dim Suchbegriff As String
    Suchbegriff = "hallo" ' Ersetze "hallo" durch den gesuchten Text

    For Each myC In Range("B4:B10")
        If myC.Value = Suchbegriff Then
            MsgBox "Text gefunden in: " & myC.Address
            ' Hier kannst du zusätzliche Aktionen hinzufügen
            Exit Sub
        End If
    Next myC

    MsgBox "Text nicht gefunden"
End Sub
  1. Makro ausführen:
    • Drücke F5, um das Makro auszuführen und den Text in der Spalte B zu suchen.

Häufige Fehler und Lösungen

  • Fehler: "Typenkonflikt"
    Lösung: Stelle sicher, dass der Suchbegriff als String deklariert ist.

  • Fehler: "Objektvariable nicht festgelegt"
    Lösung: Überprüfe, ob der Bereich korrekt definiert ist und ob die Zellen Werte enthalten.

  • Keine Meldung, wenn der Text gefunden wird
    Lösung: Vergewissere dich, dass der gesuchte Text exakt mit dem Wert in der Zelle übereinstimmt (Groß-/Kleinschreibung beachten).


Alternative Methoden

Eine alternative Methode zur Suche nach Text in Spalten ist die Verwendung der Find-Methode von Excel:

Sub TextMitFindSuchen()
    Dim Suchbegriff As String
    Dim gefundeneZelle As Range
    Suchbegriff = "hallo" ' Ersetze "hallo" durch den gesuchten Text

    Set gefundeneZelle = Range("B4:B10").Find(What:=Suchbegriff, LookIn:=xlValues, LookAt:=xlWhole)

    If Not gefundeneZelle Is Nothing Then
        MsgBox "Text gefunden in: " & gefundeneZelle.Address
    Else
        MsgBox "Text nicht gefunden"
    End If
End Sub

Praktische Beispiele

Angenommen, du möchtest in den Zellen B4 bis B10 nach einem Namen suchen und bei erfolgreicher Suche eine bestimmte Aktion ausführen. Hier ist ein Beispiel:

Sub NamenSuchenUndAktion()
    Dim myC As Range
    Dim Suchname As String
    Suchname = "Max" ' Ersetze "Max" durch den gesuchten Namen

    For Each myC In Range("B4:B10")
        If myC.Value = Suchname Then
            ' Führe eine Aktion aus, z.B. eine Nachricht anzeigen
            MsgBox "Name gefunden: " & myC.Value
            ' Hier kannst du weitere Befehle hinzufügen
            Exit Sub
        End If
    Next myC

    MsgBox "Name nicht gefunden"
End Sub

Tipps für Profis

  • Verwende Option Explicit: Füge Option Explicit am Anfang deines Moduls hinzu, um sicherzustellen, dass alle Variablen deklariert werden.

  • Optimierung der Suche: Stelle sicher, dass der Suchbereich nicht zu groß ist, um die Suche zu beschleunigen.

  • Fehlerbehandlung: Implementiere Fehlerbehandlung mit On Error Resume Next, um unerwartete Fehler zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Suchbegriffe in einer Spalte verwenden?
Du kannst eine Schleife hinzufügen, die durch ein Array von Suchbegriffen iteriert und jeden Begriff einzeln sucht.

2. Was tun, wenn der Text nicht exakt übereinstimmt?
Verwende die Methode InStr, um nach Teilstrings zu suchen, anstatt auf eine genaue Übereinstimmung zu prüfen.

3. Welche Excel-Version benötige ich für die Verwendung von VBA?
VBA ist in den meisten Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016 und 2019.

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