Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Text suchen > Zeile durch Zelle markieren

VBA Text suchen > Zeile durch Zelle markieren
Steffen
Hi Zusammen,
ich habe ein Tabellenblatt in dem in den Spalten A bis X jede einzelne Zelle nach einem bestimmten Begriff
durchsucht werden soll. Wenn der Begriff (Text) in einer Zeile vorhanden ist soll in Spalte Y in der entsprechenden Zeile ein "x" gesetzt werden.
Soweit bin ich schon gekommen:

Sub test1()
Dim Suche As Object, Treffer1 As String
Set Suche = Cells.Find("Remmers", lookat:=xlPart)
If Not Suche Is Nothing Then
Treffer1 = Suche.Address
Do
Rows(Suche.Row).Interior.ColorIndex = 4
Set Suche = Cells.FindNext(Suche)
Loop While Not Suche Is Nothing And Treffer1  Suche.Address
End If
End Sub

Leider färbt dieses Marko die Zeile nur ein. (Rows(Suche.Row).Interior.ColorIndex = 4)
Wie bringe ich dem Marko nun bei das es anstelle die Zeile einzufärben, die jeweilige Zeile durch ein
"X" in Spalte Y markiert?
Vielen Dank schon mal für Eure Hilfe.
Gruß Stevie
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Text suchen > Zeile durch Zelle markieren
24.09.2009 15:26:22
JogyB
Hi.
Das
Rows(Suche.Row).Interior.ColorIndex = 4 (alternativ dafür: Suche.EntireRow.Interior.Colorindex = 4)
durch
Cells(Suche.Row, 25).Value = "x"
ersetzen.
Gruss, Jogy
AW: VBA Text suchen > Zeile durch Zelle markieren
24.09.2009 15:40:41
Steffen
Hi Jogy,
danke bist ein Schatz :)
Gruß Stevie
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeilen durch Zellen in Excel mit VBA markieren


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" wählst.

  3. Kopiere den folgenden Code in das Modul:

    Sub test1()
       Dim Suche As Object, Treffer1 As String
       Set Suche = Cells.Find("Remmers", lookat:=xlPart)
       If Not Suche Is Nothing Then
           Treffer1 = Suche.Address
           Do
               Cells(Suche.Row, 25).Value = "x" ' Setzt "x" in Spalte Y
               Set Suche = Cells.FindNext(Suche)
           Loop While Not Suche Is Nothing And Treffer1 <> Suche.Address
       End If
    End Sub
  4. Ändere den Suchbegriff "Remmers" in den gewünschten Text, den du suchen und markieren möchtest.

  5. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und "test1" auswählst.


Häufige Fehler und Lösungen

  • Problem: Das Makro findet den Text nicht.

    • Lösung: Stelle sicher, dass der Suchbegriff korrekt eingegeben wurde und in der richtigen Groß-/Kleinschreibung vorliegt. Verwende lookat:=xlPart, um nur Teile des Textes zu suchen.
  • Problem: Das "x" wird nicht in Spalte Y gesetzt.

    • Lösung: Überprüfe, ob Spalte Y tatsächlich die 25. Spalte ist. Ansonsten passe die Zahl im Code Cells(Suche.Row, 25).Value = "x" entsprechend an.

Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die bedingte Formatierung nutzen, um Text in Excel hervorzuheben:

  1. Markiere die Zellen, die durchsucht werden sollen.
  2. Gehe zu "Start" > "Bedingte Formatierung" > "Neue Regel".
  3. Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden" und gib eine Formel wie =SUCHEN("Remmers", A1) ein.
  4. Lege das gewünschte Format fest und klicke auf OK.

Praktische Beispiele

Angenommen, du möchtest alle Zellen in einem Bereich nach dem Wort "Liedtexte" durchsuchen und in Spalte Y markieren:

Sub liedtexteMarkieren()
    Dim Suche As Object, Treffer1 As String
    Set Suche = Cells.Find("Liedtexte", lookat:=xlPart)
    If Not Suche Is Nothing Then
        Treffer1 = Suche.Address
        Do
            Cells(Suche.Row, 25).Value = "x" ' Setzt "x" in Spalte Y
            Set Suche = Cells.FindNext(Suche)
        Loop While Not Suche Is Nothing And Treffer1 <> Suche.Address
    End If
End Sub

Tipps für Profis

  • Nutze Application.ScreenUpdating = False, um das Flackern während der Ausführung des Makros zu vermeiden. Setze es am Anfang des Codes und stelle es am Ende wieder auf True.
  • Verwende Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich mehrere Wörter gleichzeitig suchen? Ja, du kannst mehrere Suchvorgänge in einer Schleife kombinieren oder eine Funktion erstellen, die eine Liste von Wörtern durchläuft.

2. Funktioniert das auch in älteren Excel-Versionen? Ja, der VBA-Code sollte in den meisten Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010 und neuer.

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