AW: Bedingte Formatierung
25.10.2003 18:28:28
Josef Ehrensberger
Hallo Heinz,
kopiere dieses Makro in das Modul der Tabelle
Private Sub Worksheet_Change(ByVal Target As Range)
'bedingte formatiereung mit VBA - von Josef Ehrensberger
'Untereinander stehende Zellen mit gleichem
'Inhalt werden mit der selben Hintergrungfarbe Formatiert.
'Die einzelnen Farbblöcke werden mit einem Trennstrich versehen.
'Maximale Anzahl von unterschiedlichen einträgen ist zehn (kann erhöht werden)
'Beispiel bezieht sich auf Spalte "A"
Dim rng As Range
Dim bereich As Range
Dim loEnd As Long
Dim iCnt As Integer
Dim ColArr As Variant
If Target.Column <> 1 Then Exit Sub
Application.EnableEvents = False
Application.ScreenUpdating = False
On Error Resume Next
ColArr = Array(38, 37, 35, 40, 19, 34, 24, 22, 43, 44) 'Farben definieren bei bedarf Farben hinzufügen
loEnd = ActiveSheet.Range("A65536").End(xlUp).Row 'Spalte "A" bei bedarfe ändern
Set bereich = Range("A1:A" & loEnd) 'Bereich hier in Spalte "A" bei bederf ändern
[A:A].ClearFormats
For Each rng In bereich
If rng = rng.Offset(1, 0) Then
rng.Interior.ColorIndex = ColArr(iCnt)
rng.Borders(xlEdgeBottom).LineStyle = xlNone
Else
rng.Interior.ColorIndex = ColArr(iCnt)
rng.Borders(xlEdgeBottom).LineStyle = xlContinuous
iCnt = iCnt + 1
End If
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Das Beispiel beziht sich auf Spalte "A"!
Es sind zehn unterschiedliche Inhalte möglich (kann erhöht werden!).
Gruß Sepp