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

Wenn, dann einfärben --> VBA

Forumthread: Wenn, dann einfärben --> VBA

Wenn, dann einfärben --> VBA
Tom
Hallo,
ich möchte einige Zeilen farbig markieren - allerdings nicht mit "Bedingter Formatierung" sondern durch VBA, da die Zellen immer neu einkopiert werdenund dadurch die bedingte Formatierung gelöscht wird!!!
- Eine Zeile soll von A-Q gelb markiert werden, wenn in der gleichen Zeile in Zelle C folgende Werte stehen "Meier" "A.Meier" "C.Meier".Allerdings können diese Werte mehrmals in der Tabelle vorkommen
- Eine Zeile soll von S-AI gelb markiert werden, wenn in der gleichen Zeile in Zelle U folgende Werte stehen "Meier" "A.Meier" "C.Meier".Allerdings können diese Werte mehrmals in der Tabelle vorkommen
Danke vorab
Tom
Anzeige
AW: Wenn, dann einfärben --> VBA
y
hi Tom,
probier mal:

Sub gelb()
Dim lngi As Long
Dim intZaehler As Integer
Dim strSuche(2) As String
strSuche(0) = "Meier"
strSuche(1) = "A.Meier"
strSuche(2) = "C.Meier"
For lngi = 1 To ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
For intZaehler = 0 To 2
If Cells(lngi, 3).Value = strSuche(intZaehler) Then
Range(Cells(lngi, 1), Cells(lngi, 17)).Interior.ColorIndex = 6
End If
If Cells(lngi, 21).Value = strSuche(intZaehler) Then
Range(Cells(lngi, 19), Cells(lngi, 35)).Interior.ColorIndex = 6
End If
Next intZaehler
Next lngi
End Sub

cu Micha
Anzeige
AW: Wenn, dann einfärben --> VBA
Tom
Funktionier perfekt - vielen Dank!
Tom
danke für die rückmeldung :-) o.t.
y
.
AW: danke für die rückmeldung :-) o.t.
Tom
Eine Frage habe ich noch:
Wo muß ich den befehl font.bold=true einfügen, damit die gewählte zeile in "fett" angezeigt wird.
Tom
Anzeige
AW: danke für die rückmeldung :-) o.t.
y
hi Tom,
jetzt in diesem zusammenhang ?
dann z.b. so:
Range(Cells(lngi, 1), Cells(lngi, 17)).Font.Bold = True
cu Micha
AW: danke für die rückmeldung :-) o.t.
Tom
Danke. Hätte ich auch selbst drauf kommen können ... :-)
Schönes WE
Tom
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zeilen einfärben in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um Zeilen in Excel mithilfe von VBA farbig zu markieren, folge diesen Schritten:

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

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub gelb()
       Dim lngi As Long
       Dim intZaehler As Integer
       Dim strSuche(2) As String
       strSuche(0) = "Meier"
       strSuche(1) = "A.Meier"
       strSuche(2) = "C.Meier"
    
       For lngi = 1 To ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
           For intZaehler = 0 To 2
               If Cells(lngi, 3).Value = strSuche(intZaehler) Then
                   Range(Cells(lngi, 1), Cells(lngi, 17)).Interior.ColorIndex = 6
               End If
               If Cells(lngi, 21).Value = strSuche(intZaehler) Then
                   Range(Cells(lngi, 19), Cells(lngi, 35)).Interior.ColorIndex = 6
               End If
           Next intZaehler
       Next lngi
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus:

    • Drücke ALT + F8, wähle gelb aus der Liste und klicke auf Ausführen.

Jetzt werden die Zeilen, in denen die Werte "Meier", "A.Meier" oder "C.Meier" in der Spalte C oder U stehen, entsprechend eingefärbt.


Häufige Fehler und Lösungen

  • Fehler: "Das Makro kann nicht gefunden werden."

    • Stelle sicher, dass das Makro korrekt gespeichert wurde und dass Du das richtige Arbeitsblatt aktiviert hast.
  • Fehler: "Keine Zellen gefunden."

    • Überprüfe, ob Du Daten in den angegebenen Spalten hast und dass diese korrekt formatiert sind.

Alternative Methoden

Falls Du keine VBA-Lösung verwenden möchtest, kannst Du auch die bedingte Formatierung nutzen. Diese Methode ist jedoch nicht ideal, wenn die Zellen häufig aktualisiert werden:

  1. Markiere den gewünschten Zellbereich.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gebe eine passende Formel ein (z.B. =C1="Meier").
  4. Setze die Formatierung nach Wunsch.

Praktische Beispiele

Hier ist ein praktisches Beispiel für die Anwendung des oben genannten Codes:

  • Angenommen, Du hast eine Excel-Tabelle mit Namen in Spalte C. Wenn Du die oben gezeigte VBA-Prozedur ausführst, werden alle Zeilen, in denen "Meier", "A.Meier" oder "C.Meier" stehen, von A bis Q gelb markiert.

Um auch den Text fett darzustellen, kannst Du diesen zusätzlichen Code in die Schleife einfügen:

Range(Cells(lngi, 1), Cells(lngi, 17)).Font.Bold = True

Tipps für Profis

  • Code optimieren: Du kannst die Suche effizienter gestalten, indem Du die Werte in ein Dictionary oder eine Collection speicherst.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Probleme zu vermeiden.
  • Makros sichern: Speichere Deine Datei als .xlsm, um Makros zu erhalten.

FAQ: Häufige Fragen

1. Wo kann ich den VBA-Code anpassen?
Du kannst den Code im VBA-Editor anpassen, indem Du die Werte in strSuche änderst.

2. Funktioniert dies in allen Excel-Versionen?
Ja, dieser VBA-Code sollte in den meisten aktuellen Excel-Versionen funktionieren, einschließlich Excel 2016, 2019 und Microsoft 365.

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