Hi Julaka,
mir scheint du hast das Prinzip der bedingten Formatierung noch nicht ganz verstanden. Du musst diese nur für die obere linke Zelle eines Bereichs generieren. Danach vergrößerst du diesen Bereich einfach im Fenster "Anwenden auf" auf den von dir gewünschten Bereich. Wenn die übergebene Zelle sich dabei ändern soll, dann muss sie relativ hinterlegt werden, also ohne Dollarzeichen. Das ist in der Formel dann so leider nicht sichtbar, funktioniert aber.
Außerdem muss die Farbänderung in deiner Referenzzelle F12 manuell herbeigeführt werden. Falls sich diese auch über bedingte Formatierung ändert kannst du nicht mit Range.Interior darauf zugreifen. In diesem Fall musst du die Bedingung in VBA nachstellen, die in deiner Formatierung WAHR ergibt.
An der Stelle wirds dann kompliziert. Leider kann ich aus deinem Code-Kauderwelsch nicht rauslesen, auf welchen Bereich du dich nun beziehen und was du überhaupt erreichen willst. Soll die BedingteFormatierung mit deiner Formel auf den Bereich F13:AA37 gehen? Dann nimm doch die FormatCondition auf diesen Bereich und gut ist. Du brauchst keine Schleifen oder andere Durchläufe.
Versuchs mal so. Ist natürlich nur eine Vermutung, wie du es haben wollen könntest:
Sub Makro1()
Dim rng As Range
Set rng = Range("F13:AA37")
With rng.FormatConditions.Add(Type:=xlExpression, Formula1:="=HighlightRedFont(F$12)")
.SetFirstPriority
.Interior.PatternColorIndex = xlAutomatic
.Interior.Color = 13033212
.StopIfTrue = False
End With
End Sub
Gruß Mr. K.
|