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, 09:56 (Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2024, 09:57 von Andyle.)
(10.05.2024, 17: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, 09: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, 17:33 (Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2024, 17: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)