angewendet auf =$G$6:$L$12;$N$6:$S$12;$U$6:$Z$12;$AB$6:$AG$12;$G$16:$L$22;$N$16:$S$22;$U$16:$Z$22;$AB$16:$AG$22;$G$26:$L$32;$U$26:$Z$32;$AB$26:$AG$32;$N$26:$S$32
Code:
If Target.Interior.ColorIndex <> 3 And aktive_zelle <> "" And Range("G37") = "" Then
'Löscht Hintergrund wenn Ferien .FormatConditions.Delete 'Ende
With Range("$G$6:$L$12, $N$6:$S$12, $U$6:$Z$12, $AB$6:$AG$12, $G$16:$L$22, $N$16:$S$22, $U$16:$Z$22, $AB$16:$AG$22, $G$26:$L$32, $U$26:$Z$32, $AB$26:$AG$32, $N$26:$S$32").FormatConditions.Add(xlExpression, _ Formula1:=" Hier die Bedingung! ") .Interior.Color = vbBlue 'vbYellow End With
11.05.2024, 10:56 (Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2024, 10:57 von Andyle.)
(10.05.2024, 18:05)Andyle schrieb: Die Ferienmarkierung funzt ja!
Nur wollte ich es als VBA in den Doppelklick einbauen.
Grund: Lösche ich den Roten Hintergrund (Urlaub) per Doppelklick wieder soll er die Gelbe markierung wieder setzen, wenn es ein Ferientag ist.
Hab noch einen angepassten code gefunden. Nur macht er nicht dass, wass er soll!
Code:
Sub BedingteFormatierungBeispiel()
'Bereich definieren Dim MeinBereich As Range Set MeinBereich = Range("$G$6:$L$12, $N$6:$S$12, $U$6:$Z$12, $AB$6:$AG$12, $G$16:$L$22, $N$16:$S$22, $U$16:$Z$22, $AB$16:$AG$22, $G$26:$L$32, $U$26:$Z$32, $AB$26:$AG$32, $N$26:$S$32")
'Vorhandene bedingte Formatierung aus dem Bereich löschen
MeinBereich.FormatConditions.Delete
'Bedingte Formatierung anwenden MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _ Formula1:="=ZÄHLENWENN(Ferien_von;" >= "&G6)", Formula2:="=ZÄHLENWENN(Ferien_bis;" <= "&G6)" MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 255, 0) End Sub
er sollte eigendlich so aussehen:
Code:
Sub BedingteFormatierungBeispiel() 'Bereich definieren Dim MeinBereich As Range Set MeinBereich = Range("$G$6:$L$12, $N$6:$S$12, $U$6:$Z$12, $AB$6:$AG$12, $G$16:$L$22, $N$16:$S$22, $U$16:$Z$22, $AB$16:$AG$22, $G$26:$L$32, $U$26:$Z$32, $AB$26:$AG$32, $N$26:$S$32") 'Vorhandene bedingte Formatierung aus dem Bereich löschen
---------------------------------- Nur alle gelben Zellen löschen! MeinBereich.FormatConditions.Delete -------------------------------------
--------------------------------------------------------------------------------------------------------------- Formula1 soll folgende Formel stehen: =WENN(UND($AE$38="Ja";ZÄHLENWENN(Feiertage;G6)<>1);ZÄHLENWENNS(Ferien_von;"<="&G6;Ferien_bis;">="&G6)) ---------------------------------------------------------------------------------------------------------------
MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 255, 0) 'alle Zellen sollen nach Formula1 gelb markiert werden! End Sub
(11.05.2024, 10:56)Andyle schrieb: Hab noch einen angepassten code gefunden. Nur macht er nicht dass, wass er soll!
Code:
Sub BedingteFormatierungBeispiel()
'Bereich definieren Dim MeinBereich As Range Set MeinBereich = Range("$G$6:$L$12, $N$6:$S$12, $U$6:$Z$12, $AB$6:$AG$12, $G$16:$L$22, $N$16:$S$22, $U$16:$Z$22, $AB$16:$AG$22, $G$26:$L$32, $U$26:$Z$32, $AB$26:$AG$32, $N$26:$S$32")
'Vorhandene bedingte Formatierung aus dem Bereich löschen
MeinBereich.FormatConditions.Delete
'Bedingte Formatierung anwenden MeinBereich.FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, _ Formula1:="=ZÄHLENWENN(Ferien_von;" >= "&G6)", Formula2:="=ZÄHLENWENN(Ferien_bis;" <= "&G6)" MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 255, 0) End Sub
er sollte eigendlich so aussehen:
Code:
Sub BedingteFormatierungBeispiel() 'Bereich definieren Dim MeinBereich As Range Set MeinBereich = Range("$G$6:$L$12, $N$6:$S$12, $U$6:$Z$12, $AB$6:$AG$12, $G$16:$L$22, $N$16:$S$22, $U$16:$Z$22, $AB$16:$AG$22, $G$26:$L$32, $U$26:$Z$32, $AB$26:$AG$32, $N$26:$S$32")
'Vorhandene bedingte Formatierung aus dem Bereich löschen ---------------------------------- Nur alle gelben Zellen löschen! MeinBereich.FormatConditions.Delete -------------------------------------
11.05.2024, 18:33 (Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2024, 18:34 von schauan.)
Hallöchen,
hier was funktionierendes für eine Bedingung. Ich habe die mal in eine Variable genommen, muss aber nicht sein. Für die zweite Formel könntest Du eine zweite Variable nehmen oder DU bildest ein Array. Knackpunkt ist die deutsche Syntax im deutschen Excel. Willst Du es international, müsstest Du die englische Syntax verwenden und in die landesspezifische "übersetzen" (z.B. englische Formel mit Formula in eine Zelle packen und mit FormulaLocal zurückholen).
Wenn Du alle Bedingungen löschst und wieder benötigst, müsstest Du auch alle neu erstellen.
Code:
Sub BedingteFormatierungBeispiel()
'Bereich definieren Dim MeinBereich As Range Dim strFormula As String
'Bedingte Formatierung anwenden Between MeinBereich.FormatConditions.Add Type:=xlExpression, _ Formula1:=strFormula MeinBereich.FormatConditions(1).Interior.Color = RGB(255, 255, 0) End Sub
PS: Ich habe die beiden Themen zusammengefügt
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)