hmm, naja das ist schon ne Weile her mit den diesen Makros. Wenn da was nicht 100%ig ist, tut mir das leid. Ich hab die Makros nur so geschrieben das sie für meine Zwecke gepasst hatten. Wenn du andere Fälle hast, dann kann es schon sein das sie eben nicht mehr genau passen. z.b. bei doppelten Werten.
Ich glaube das ich wegen der Farbeanzeigesache mehrere Interior Werte aufgelistet hatte. Ist immer Try and Error.
Die bedingten Formatierungen hatte ich per Makrorekorder aufgezeichnet und die für mich variablen Bereiche angepasst. ein Beispiel das ich noch etwas kommentiert habe.
' ----------------------------------------------------------------
' Procedure Name: setFC_Mitarbeiter
' Purpose: erzeugt bedingte Formatierung für Mitarbeiterzeile
' Procedure Kind: Sub
' Procedure Access: Public
' Parameter strWs (String): Name des Arbeitsblattes
' Parameter sAdrs (String): Adresse des zu nutzenden Bereiches als Textbezug
' Author: ralf_b
' Date: 02.03.2021
' ----------------------------------------------------------------
Sub setFC_Mitarbeiter(strWs As String, sAdrs As String)
'erstellt bedingte Formatierung : Zeile mit Mitarbeiter färben
Dim ws As Worksheet
Set ws = Worksheets(strWs)
'Gültigkeitsbereich festlegen: Bereich wird von I:NJ auf A:NJ erweitert
With ws.Range(ws.Range("A" & ws.Range(sAdrs).row), ws.Range(sAdrs))
Call deletefc(strWs, "Mitarbeiter") 'löscht bestimmte FC
'FC zum Bereich hinzufügen, wenn in Spalte H "Mitarbeiter" steht, Zeile 6 ist erste Zeile im Gültigkeitsbereich
.FormatConditions.Add Type:=xlExpression, Formula1:="=$H6=""Mitarbeiter"""
'Referenz auf letzte/neue FC in Liste erzeugen
With .FormatConditions(.FormatConditions.Count)
'.SetFirstPriority
With .Interior
.PatternColorIndex = xlAutomatic
.ColorIndex = 40
End With
.StopIfTrue = False
End With
End With
End Sub
|