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

Forumthread: VBA Zellfarbe ändern !

VBA Zellfarbe ändern !
07.11.2014 20:29:00
Christian
Hallo Forumfreunde,
ich bin gerade dabei für meine Sammlung eine größere Exceldatei
zu erstellen. Dazu möchte ich ständig wiederkehrende Prozeduren mit
Makros ausführen. Viele "einfache" Makros habe ich nach Recherchen
auch hinbekommen, aber leider nicht alles. Dazu habe ich einfach zu
wenig Ahnung von VBA. Ich habe mehrere Probleme, ich hoffe ihr helft mit.
Aber eins nach dem anderen.
Mein 1. Problem: Ich möchte mit einem Command Button einen bestimmten
Zellbereich ( z.B. C11:W35 ) die Zellfarbe wenn Weiß ( Colorindex 2 ) in
Grün ( Colorindex 12 ) ändern. Aber, In dem Zellbereich sind aber einige
Zellen grau die auch grau bleiben sollen.
Wer kann helfen ? Jetzt schon vielen Dank.
Papabaer

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Zellfarbe ändern !
08.11.2014 07:27:39
hary
Moin
Entweder mit festem Bereich oder mit markiertem Bereich.
Dim zelle As Range
Dim Bereich As Range
Set Bereich = Worksheets("Tabelle1").Range("C11:W35") 'Blattname und Bereich anpassen
'Set Bereich = Selection ' mit Zellmarkierung dann diese Zeile
For Each zelle In Bereich
If zelle.Interior.ColorIndex = 2 Then
zelle.Interior.ColorIndex = 12
End If
Next

gruss hary

Anzeige
AW: VBA Zellfarbe ändern !
08.11.2014 18:30:52
Christian
Hallo Hary, erst einmal herzlichen Dank,
Kann man dieses Makro auch so schreiben, dass es allgemein gültig ist. Zum Ver-
ständnis, ich will über 170 Arbeitsmappen ( jedes Land eine )anlegen. In jeder
Arbeitsmappe gibt es ein Muster mit bestimmten Grunddaten des jeweiligen Landes.
Durch ein Makro wird dann in dem jeweiligen Land ein neues Arbeitsblatt erstellt.
Ich möchte umgehen jedesmal das benötigte Makro umzubenennen !
Danke im voraus,
Gruß Papabaer

Anzeige
AW: VBA Zellfarbe ändern !
08.11.2014 18:43:01
hary
Moin
Hab Feierabend.
Schau mal hier.
https://www.google.com/url?q=https://www.herber.de/forum/archiv/564to568/565454_Makros_fest_in_Excel_einbinden.html&sa=U&ei=xlVeVK_jHq2S7Aal4oDIDg&ved=0CAkQFjAC&client=internal-uds-cse&usg=AFQjCNE63qSQ96D6-K6JP48qJlqaa9y1xA
gruss hary

Anzeige
AW: VBA Zellfarbe ändern !
08.11.2014 21:03:59
Christian
Hallo Hary,
werde deinen Rat befolgen, ich weiß noch nicht genau nach was ich
suchen soll, ich habe einfach zu wenig Ahnung, aber manchmal findet
auch ein blindes Huhn das gewisse Körnchen,
Habe nochmals vielen Dank für deine Hilfe
Gruß Papabaer
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zellfarbe in Excel mit VBA ändern


Schritt-für-Schritt-Anleitung

Um die Zellfarbe in Excel mit VBA zu ändern, kannst du folgendes Makro verwenden. Dieses Beispiel zeigt, wie du einen bestimmten Zellbereich einfärben kannst, wobei weiße Zellen in grün umgewandelt werden, während graue Zellen unverändert bleiben.

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

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub ZellenfarbeAendern()
       Dim zelle As Range
       Dim Bereich As Range
       Set Bereich = Worksheets("Tabelle1").Range("C11:W35") ' Blattname und Bereich anpassen
    
       For Each zelle In Bereich
           If zelle.Interior.ColorIndex = 2 Then ' Weiß
               zelle.Interior.ColorIndex = 12 ' Grün
           End If
       Next zelle
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Weise das Makro einem Command Button zu, um es einfach auszuführen.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich"

    • Dieser Fehler tritt auf, wenn du versuchst, eine Zelle zu ändern, die nicht existiert oder nicht im angegebenen Bereich ist. Überprüfe die Bereichsangabe und stelle sicher, dass sie korrekt ist.
  • Makro läuft nicht

    • Stelle sicher, dass Makros in deiner Excel-Anwendung aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Makros.

Alternative Methoden

Eine alternative Methode, um die Zellfarbe zu ändern, ist die Verwendung der Selection-Option:

Sub ZellenfarbeAendernMitAuswahl()
    Dim zelle As Range
    For Each zelle In Selection
        If zelle.Interior.ColorIndex = 2 Then
            zelle.Interior.ColorIndex = 12
        End If
    Next zelle
End Sub

Diese Methode ändert die Farben für den aktuell markierten Bereich anstelle eines festen Zellbereichs.


Praktische Beispiele

  1. Zellen in anderen Farben ändern:

    • Wenn du nicht nur die weiße Farbe ändern möchtest, kannst du den ColorIndex anpassen. Hier ein Beispiel, um rote Zellen (ColorIndex 3) in blaue Zellen (ColorIndex 5) zu ändern:
    If zelle.Interior.ColorIndex = 3 Then ' Rot
       zelle.Interior.ColorIndex = 5 ' Blau
    End If
  2. Für mehrere Blätter:

    • Du kannst das Makro so anpassen, dass es in mehreren Arbeitsblättern funktioniert, indem du eine Schleife über die Blätter einfügst.

Tipps für Profis

  • Verwendung von RGB-Farben:

    • Du kannst auch RGB-Farben verwenden, um genauere Farbtöne zu definieren. Zum Beispiel:
    zelle.Interior.Color = RGB(0, 255, 0) ' Grün
  • Bedingte Formatierung:

    • In einigen Fällen kann die Verwendung von bedingter Formatierung sinnvoller sein, um die Zellfarbe basierend auf bestimmten Bedingungen automatisch zu ändern.

FAQ: Häufige Fragen

1. Wie kann ich die Hintergrundfarbe einer Zelle ändern? Du kannst die Hintergrundfarbe einer Zelle mit der Interior.Color oder Interior.ColorIndex-Eigenschaft ändern, wie im obigen Beispiel gezeigt.

2. Kann ich die Farbe mehrerer Zellen gleichzeitig ändern? Ja, du kannst eine Schleife über einen Zellbereich oder die markierten Zellen verwenden, um die Farbe für mehrere Zellen gleichzeitig zu ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige