03.09.2019, 17:25
Hallo Ihr VBA Spezialisten,
Im Makro mit mehreren " Bedingten Formatierungen" möchte ich die Formatierung für das " Tagesdatum" nicht einfach nur mit einer farbigen Zelle darstellen, sondern mit einem Fülleffekt und zwei Rahmenlinien.
um viele With und End With zu sparen möchte ich den Code zusammenfassen. Klappt leider nicht ganz so wie ich will, weil ich nicht syntaxsicher bin.
(farbige Zelle klappt aber ...)
so sieht mein Code ( verkürzt um einige Bedingungen) aus.
With Range("E2:N2")
.Cells(1).Select
.FormatConditions.Delete 'löscht bestehende Formatierungen
.FormatConditions.Add Type:=xlExpression, Formula1:="=WOCHENTAG(E$1;2)>5" 'Wochenenden
.FormatConditions(1).Interior.ColorIndex = 48
.FormatConditions.Add Type:=xlExpression, Formula1:="=SVERWEIS(E$1;DAT_Feier;1;0)" 'Feiertage
.FormatConditions(2).Interior.ColorIndex = 6
.FormatConditions.Add Type:=xlExpression, Formula1:="=LINKS(Tabelle2!C$2;1)=""M""" 'Montage
.FormatConditions(3).Interior.ColorIndex = 37
....... ( bis hierhin alles Problemlos)
.FormatConditions.Add Type:=xlExpression, Formula1:="=E$1=Heute()" 'Tagesdatum
.FormatConditions(11).Interior
.Borders (xlLeft)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThin
.Borders (xlRight)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThin
.Interior
.Pattern = xlPatternLinearGradient
.Gradient.Degree = 0
.Gradient.ColorStops.Clear
.Interior.Gradient.ColorStops.Add (0)
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.Interior.Gradient.ColorStops.Add (0.5)
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0
.Interior.Gradient.ColorStops.Add (1)
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
und das funktioniert eben nicht wie gedacht. Hier bräuchte ich eure Hilfe
Gruß
Michael
Im Makro mit mehreren " Bedingten Formatierungen" möchte ich die Formatierung für das " Tagesdatum" nicht einfach nur mit einer farbigen Zelle darstellen, sondern mit einem Fülleffekt und zwei Rahmenlinien.
um viele With und End With zu sparen möchte ich den Code zusammenfassen. Klappt leider nicht ganz so wie ich will, weil ich nicht syntaxsicher bin.
(farbige Zelle klappt aber ...)
so sieht mein Code ( verkürzt um einige Bedingungen) aus.
With Range("E2:N2")
.Cells(1).Select
.FormatConditions.Delete 'löscht bestehende Formatierungen
.FormatConditions.Add Type:=xlExpression, Formula1:="=WOCHENTAG(E$1;2)>5" 'Wochenenden
.FormatConditions(1).Interior.ColorIndex = 48
.FormatConditions.Add Type:=xlExpression, Formula1:="=SVERWEIS(E$1;DAT_Feier;1;0)" 'Feiertage
.FormatConditions(2).Interior.ColorIndex = 6
.FormatConditions.Add Type:=xlExpression, Formula1:="=LINKS(Tabelle2!C$2;1)=""M""" 'Montage
.FormatConditions(3).Interior.ColorIndex = 37
....... ( bis hierhin alles Problemlos)
.FormatConditions.Add Type:=xlExpression, Formula1:="=E$1=Heute()" 'Tagesdatum
.FormatConditions(11).Interior
.Borders (xlLeft)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThin
.Borders (xlRight)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThin
.Interior
.Pattern = xlPatternLinearGradient
.Gradient.Degree = 0
.Gradient.ColorStops.Clear
.Interior.Gradient.ColorStops.Add (0)
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.Interior.Gradient.ColorStops.Add (0.5)
.ThemeColor = xlThemeColorAccent1
.TintAndShade = 0
.Interior.Gradient.ColorStops.Add (1)
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
End With
und das funktioniert eben nicht wie gedacht. Hier bräuchte ich eure Hilfe
Gruß
Michael
Win 10
Office 2010 & 2016
Office 2010 & 2016