Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1184to1188
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Zellen je nach Inhalt einfärben

VBA Zellen je nach Inhalt einfärben
jens
Hallo Excel-Profis,
ich habe ein Makro das mir einen Bereich durchgeht und die Zellen je nach inhalt färbt:
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Sheets("Reservierung (3)").Select
Dim RaBereich As Range, RaZelle As Range
Set RaBereich = Range("B8:P48")
'Set RaBereich = Range("N2").UsedRange
For Each RaZelle In RaBereich
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
Select Case RaZelle.Value
Case Is = ""
' Keine
RaZelle.Interior.ColorIndex = xlNone
Case Is = [Artikel!E6]
' grau
RaZelle.Interior.ColorIndex = 15
Case Is = [Artikel!E2]
' rot
RaZelle.Interior.ColorIndex = 3
Case Is = [Artikel!E3]
' blau
RaZelle.Interior.ColorIndex = 42
Case Is = [Artikel!E4]
' gelb
RaZelle.Interior.ColorIndex = 27
Case Is = [Artikel!E5]
' grün
RaZelle.Interior.ColorIndex = 4
Case Is = [Artikel!E6]
RaZelle.Interior.ColorIndex = 8
Case Is = [Artikel!E7]
' blau
RaZelle.Interior.ColorIndex = 38
Case Else
' Keine
RaZelle.Interior.ColorIndex = xlNone
End Select
End If
Next RaZelle
Set RaBereich = Nothing
End Sub
Das geht auch gut, ich habe aber 2 Fragen:
Gibt es etwas besseres als SelectionChange? Mir wäre es lieber, es würde gemacht, wenn man das Blatt aktiviert
Und jetzt muß ich eigentlich immer die Spalte links und rechts gleich formatieren wie die in der Mitte - Beispiel:
Wenn in C8:C48 ein Case zutrifft dann soll B8:B48 und D8:D48 auch so eingefärbt werden, das gleiche dann für F = E+G, I = H+J, L = K+M, O = N+P
Weiß jemand wie man das einrichtet?
Vielen Dank und viele Grüße Jens

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Zellen je nach Inhalt einfärben
28.10.2010 12:00:06
Rudi
Hallo,
ad 1: dafür gibt es das Worksheet_Activate-Ereignis.
ad 2: RaZelle.Offset(, -1).Resize( ,3).Interior.ColorIndex = 15
Gruß
Rudi
AW: VBA Zellen je nach Inhalt einfärben
28.10.2010 12:24:22
jens
Hallo Rudi, das mit der 2ten Zeile geht wunderbar - ich mußte nur das letzte
Case Else
' Keine
RaZelle.Interior.ColorIndex = xlNone
auf nichts setzen sonst hat er die rechte Spalte immer überschrieben - tausend Dank.
Bei Worksheet_activate steigt er leider aus: Meldung
Deklaration der Prozedur entspricht nicht der Beschreibung eines Ereignisses oder einer Prozedur mit demselben Namen
Ich habe in einem anderen Tabellenblatt fast die gleiche Geschichte aber mit Worksheet_Change - da werden eingaben gemacht.
Hast Du eine Idee?
Viele Grüße Jens
Anzeige
AW: VBA Zellen je nach Inhalt einfärben
28.10.2010 12:29:51
Rudi
Hallo,
_Activate muss so aussehen.
Private Sub Worksheet_Activate()
End Sub
Gruß
Rudi
AW: VBA Zellen je nach Inhalt einfärben
28.10.2010 12:55:08
jens
Hallo Rudi,
sieht es auch, ich habe es auch schon von oben rechts genommen - ermault immer mit der gleichen Meldung rum.
Viele Grüße Jens
lad mal die Mappe hoch owT
28.10.2010 13:11:29
Rudi
AW: lad mal die Mappe hoch owT
28.10.2010 13:16:37
jens
Hi Rudi habe es gerade geschafft-
ich muß das (ByVal Target As Range) weglassen - dann geht auch das activate.
Vielen Lieben Dank für Deine Hilfe.
Ich wünsche Dir noch einen schönen Tag
Liebe Grüße Jens

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige