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
Anzeige