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

Forumthread: VBA Überschrift suchen, Zellen färben

VBA Überschrift suchen, Zellen färben
20.06.2015 10:47:22
WalterK
Hallo,
im Kopf hats funktioniert, bei der Ausführung scheiterts dann!
Ich suche eine VBA-Lösung für: Überschrift in anderem Blatt suchen und dort die Spalte nach Vorgabe einfärben.
Ich habe es in der Tabelle detailliert angeführt.
https://www.herber.de/bbs/user/98325.xlsm
Besten Dank für die Hilfe, Servus Walter

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Überschrift suchen, Zellen färben
20.06.2015 11:21:31
Gerd
Servus Walter!
Sub betingte_Formatierung()
Dim Q As Worksheet, Z As Worksheet
Dim Bereich As Range
Dim objZelle As Range
Dim w As String
Dim nr As Variant
Set Q = Worksheets("Tabelle1")
Set Z = Worksheets("Tabelle2")
w = Q.Range("B4")
nr = Application.Match(w, Z.Rows(1), 0)
If Not IsNumeric(nr) Then
MsgBox "Spaltenuebrschrift mit Suchtext nicht gefunden!", vbInformation
Exit Sub
End If
Set Bereich = Z.Range(Z.Cells(1, nr), Z.Cells(Z.Rows.Count, nr).End(xlUp))
For Each objZelle In Bereich
Select Case objZelle.Value
Case "Apfel": objZelle.Interior.ColorIndex = 6
Case "Birne": objZelle.Interior.ColorIndex = 37
Case "Tomate": objZelle.Interior.ColorIndex = 40
End Select
Next
End Sub
Gruß Gerd

Anzeige
Besten Dank Gerd, TipTop! Servus, Walter
20.06.2015 11:35:29
WalterK
;
Anzeige
Anzeige

Infobox / Tutorial

VBA zur Überschriftensuche und Zellenfärbung in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade die Arbeitsmappe, in der Du die Überschriftensuche und Zellenfärbung durchführen möchtest.
  2. Aktiviere das VBA-Editor-Fenster:
    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  3. Füge ein neues Modul hinzu:
    • Klicke im Menü auf Einfügen > Modul.
  4. Kopiere den folgenden Code in das Modul:
Sub betingte_Formatierung()
    Dim Q As Worksheet, Z As Worksheet
    Dim Bereich As Range
    Dim objZelle As Range
    Dim w As String
    Dim nr As Variant
    Set Q = Worksheets("Tabelle1") ' Blatt mit der Suchüberschrift
    Set Z = Worksheets("Tabelle2") ' Blatt, in dem gefärbt werden soll
    w = Q.Range("B4") ' Hier wird die Suchüberschrift definiert
    nr = Application.Match(w, Z.Rows(1), 0) ' Suche der Überschrift in der ersten Zeile von Tabelle2
    If Not IsNumeric(nr) Then
        MsgBox "Spaltenüberschrift mit Suchtext nicht gefunden!", vbInformation
        Exit Sub
    End If
    Set Bereich = Z.Range(Z.Cells(1, nr), Z.Cells(Z.Rows.Count, nr).End(xlUp))
    For Each objZelle In Bereich
        Select Case objZelle.Value
            Case "Apfel": objZelle.Interior.ColorIndex = 6
            Case "Birne": objZelle.Interior.ColorIndex = 37
            Case "Tomate": objZelle.Interior.ColorIndex = 40
        End Select
    Next
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus:
    • Drücke ALT + F8, wähle betingte_Formatierung aus und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: "Spaltenüberschrift mit Suchtext nicht gefunden!"

    • Lösung: Überprüfe, ob der Text in Zelle B4 von "Tabelle1" genau mit der Überschrift in "Tabelle2" übereinstimmt. Achte auf Groß- und Kleinschreibung.
  • Fehler: Excel stürzt ab oder reagiert nicht

    • Lösung: Stelle sicher, dass der Code in einem neuen Modul eingefügt wird und alte, nicht mehr benötigte Module gelöscht werden.

Alternative Methoden

Falls Du keine VBA-Lösung nutzen möchtest, kannst Du auch bedingte Formatierungen verwenden:

  1. Markiere den Bereich in "Tabelle2".
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gebe die Formel ein, z.B.:
    =A1="Apfel"
  4. Wähle die gewünschte Formatierung aus und klicke auf OK.

Praktische Beispiele

  • Beispiel 1: Wenn Du die Zellen für "Apfel" in Gelb und für "Birne" in Grün einfärben möchtest, kannst Du den Code entsprechend anpassen. Ändere den ColorIndex nach Deinen Wünschen.
  • Beispiel 2: Du kannst den Suchbegriff in Zelle B4 dynamisch ändern, um verschiedene Überschriften zu suchen.

Tipps für Profis

  • Verwende benannte Bereiche, um den Code flexibler zu gestalten. Anstatt feste Zellreferenzen zu verwenden, kannst Du benannte Bereiche einfügen.
  • Teste den Code zuerst an einer Kopie Deiner Arbeitsmappe, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich den Code auch in Excel Online verwenden? Der VBA-Code funktioniert nur in Desktop-Versionen von Excel, nicht in Excel Online.

2. Was mache ich, wenn ich mehrere Spalten gleichzeitig einfärben möchte? Du kannst den Code erweitern, indem Du mehrere Case-Anweisungen hinzufügst, um verschiedene Farben für verschiedene Überschriften zu definieren.

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