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

Forumthread: zellen färben per vba

zellen färben per vba
Ernst
Hallo Vba User
ich bräuchte eure Hilfe für folgende Problemstellung.
die Rangebereiche v4:v23,x4:x23,z4:z23,ab4:ab23,ad4:ad23,af4:af23,ah4:ah23,aj4:aj23 sind jeweils mit einer zellfarbe versehen.
nun möchte ich wenn in die jeweiligen Rangebereiche eine zahl eingegeben,wird und diese Zahl befindet sich schon irgendwo anders im aktuellen Tabellenblatt, das diese Zelle wo es die Zahl schon gibt mit der jeweiligen Farbe des Rangebereiches gefüllt wird.
Beispiel: Rangebereich v4:v23 zb.gelb. in v4 schreibe ich 1,.....1 gibt es in Zelle zb.c4 so soll c4 gelb werden.
wäre für Lösungsvorschläge dankbar.
lg.Ernst
Anzeige

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

Betreff
Benutzer
Anzeige
AW: zellen färben per vba
01.12.2011 01:31:52
fcs
Hallo Ernst,
hier mein Vorschlag zur Lösung deines Problems per Makro.
Gruß
Franz
'Code im VBA-Editor unter dem Tabellenblatt einfügen in dem die Farbformatierung erfolgen soll
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngFarbe As Long, varWert As Variant, strErste As String, Zelle As Range
If Target.Cells.Count = 1 Then
If Target.Row >= 4 And Target.Row  "" Then
Select Case Target.Column
Case 22, 24, 26, 28, 30, 32, 34, 36 ' Spalten V, X, Z, AB, AD, AF, AH, AJ
lngFarbe = Target.Interior.Color
varWert = Target.Value
Set Zelle = Me.UsedRange.Find(What:=varWert, LookIn:=xlValues, lookat:=xlWhole)
If Not Zelle Is Nothing Then
strErste = Zelle.Address
Do
If Zelle.Row >= 4 And Target.Row 

Anzeige
Danke:-)
01.12.2011 07:53:31
Ernst
Guten Morgen
Recht herzlichen Dank für diese perfekte Lösung.
lg.Ernst
;

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
Anzeige

Infobox / Tutorial

Zellen Färben Per VBA in Excel


Schritt-für-Schritt-Anleitung

Um Zellen in Excel per VBA zu färben, folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle das entsprechende Tabellenblatt aus:

    • Suche im Projekt-Explorer auf der linken Seite nach dem Tabellenblatt, in dem du die Farbformatierung anwenden möchtest.
  3. Füge den VBA-Code ein:

    • Kopiere den folgenden Code und füge ihn in das Codefenster des gewählten Tabellenblatts ein:
    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim lngFarbe As Long, varWert As Variant, strErste As String, Zelle As Range
       If Target.Cells.Count = 1 Then
           If Target.Row >= 4 And Target.Row <> "" Then
               Select Case Target.Column
                   Case 22, 24, 26, 28, 30, 32, 34, 36 ' Spalten V, X, Z, AB, AD, AF, AH, AJ
                       lngFarbe = Target.Interior.Color
                       varWert = Target.Value
                       Set Zelle = Me.UsedRange.Find(What:=varWert, LookIn:=xlValues, lookat:=xlWhole)
                       If Not Zelle Is Nothing Then
                           strErste = Zelle.Address
                           Do
                               If Zelle.Row >= 4 Then
                                   Zelle.Interior.Color = lngFarbe
                               End If
                               Set Zelle = Me.UsedRange.FindNext(Zelle)
                           Loop While Not Zelle Is Nothing And Zelle.Address <> strErste
                       End If
               End Select
           End If
       End If
    End Sub
  4. Schließe den VBA-Editor:

    • Schließe den Editor und kehre zu deinem Excel-Dokument zurück.
  5. Teste den Code:

    • Gib eine Zahl in einen der definierten Bereiche ein, um zu sehen, ob die Farbänderung funktioniert.

Häufige Fehler und Lösungen

  • Fehler: "Zelle wird nicht gefärbt"

    • Überprüfe, ob die eingegebene Zahl tatsächlich in einem der anderen Bereiche existiert. Der Code sucht nach einer genauen Übereinstimmung.
  • Fehler: "VBA-Code wird nicht ausgeführt"

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

Alternative Methoden

Eine andere Möglichkeit, um Zellen in Excel zu färben, ist die Verwendung von bedingter Formatierung. Hierbei kannst du Regeln erstellen, die die Zellenfarbe basierend auf bestimmten Bedingungen ändern, ohne VBA verwenden zu müssen.

  1. Wähle den Bereich aus, den du formatieren möchtest.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle eine Regeltyp aus, z. B. „Zellen formatieren, die enthalten“ und definiere deine Kriterien.

Praktische Beispiele

Angenommen, du möchtest die Zellen in den Bereichen V4:V23, X4:X23, usw. einfärben, wenn dort eine Zahl eingegeben wird, die bereits woanders im Blatt existiert. Mit dem oben genannten VBA-Code kannst du dies automatisiert erledigen.

Wenn du z.B. die Farbe Gelb für den Bereich V4:V23 verwendest und die Zahl 1 in V4 eingibst, wird die Zelle, die die 1 enthält, ebenfalls gelb gefärbt.


Tipps für Profis

  • Nutze VBA für komplexere Farbänderungen, indem du Bedingungen und Schleifen kombinierst.
  • Experimentiere mit verschiedenen Farbcodes, um spezifische Farben zu wählen. Du kannst lngFarbe auch direkt mit RGB-Werten anpassen, z.B. lngFarbe = RGB(255, 255, 0) für Gelb.
  • Speichere deine Excel-Dateien immer im xlsm-Format, um die VBA-Makros zu erhalten.

FAQ: Häufige Fragen

1. Wie ändere ich die Farbe einer Zelle in VBA?
Du kannst die Farbe einer Zelle ändern, indem du den Interior.Color-Eigenschaft der Zelle zuweist, z.B. Range("A1").Interior.Color = RGB(255, 0, 0) für Rot.

2. Funktioniert dieser VBA-Code in allen Excel-Versionen?
Der VBA-Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und höher) funktionieren. Achte darauf, dass du die Makros aktiviert hast.

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