255 Aufrufe
Gefragt in Tabellenkalkulation von twototoulouse Mitglied (377 Punkte)
Hallo!

Ich habe in meinem excel kalender die Wochenenden grau markiert und zwar mit bedingter Formatierung: =WOCHENTAG($B3;2)>=6

Dann habe ich eine zweite bedingte Formatierung die die Feiertage gelb markiert: =ZÄHLENWENN(Feiertage!$B$5:$B$26;$A3)=1

Leider ist die Zelle an Wochenenden immer grau, auch wenn Feiertag ist, sollte dann eigentlich gelb werden.

Ist für die Zelle die erste Formatierung ausschlaggebend?

Wird wahrscheinlich mit beiden Formatierungen so nicht funktionieren.

Hat da jemand eine Idee?

Mit freundlichen Grüßen

Hans-Jörg

4 Antworten

+1 Punkt
Beantwortet von beverly_ Experte (3.3k Punkte)
Hi Hans-Jörg,

setze die Feiertags-Formatierung an die 1. Stelle und außerdem das Häkchen bei "Anhalten" - dann wird nur diese Bedingung realisiert und die folgende(n) Bedingung(en) ignoriert.

Bis später, Karin
0 Punkte
Beantwortet von
Einmaliger lauf!

Ohene Formeln und ohne Hilfstabelle für die Feiertage!

Datumsbereich Selectieren,Makro starten

Wochenende Farblich markiert

Feiertage als Zellen Kommentar

Feiertage in der Function ergänzen

Datum und Name laufen Parallel

z.b.

2 Datum ist der 2 Name

7 Datum ist der 7 Name etc.

Sub Feiertage_im_Kommentarfeld()
    Dim Zelle As Object, Eintrag As Object
    For Each Zelle In Selection
        If IsDate(Zelle.Value) And IstWochenende(Zelle.Value) = True Then Range(Zelle.Address).Interior.ColorIndex = 7
        If IsDate(Zelle) And Feiertag2(Range(Zelle.Address)) <> "" Then
            Set Eintrag = Range(Zelle.Address).Comment
            If Eintrag Is Nothing Then
                Range(Zelle.Address).AddComment
                Range(Zelle.Address).Comment.Text Text:="Feiertag:" & Chr(10) & Feiertag2(Range(Zelle.Address))
            Else
                Range(Zelle.Address).ClearComments
                Range(Zelle.Address).AddComment
                Range(Zelle.Address).Comment.Text Text:="Feiertag:" & Chr(10) & Feiertag2(Range(Zelle.Address))
            End If
        End If
    Next Zelle
End Sub

Function IstWochenende(Datum As Date) As Boolean
    IstWochenende = (Weekday(Datum) = 1 Or Weekday(Datum) = 7)
End Function

Function Feiertag2(Zelle As Date) As String
    Dim DatumString As String
    Dim IntYear As Integer, OsterDatum As Integer
    IntYear = Year(Zelle)
    OsterDatum = (((255 - 11 * (IntYear Mod 19)) - 21) Mod 30) + 21
    DatumString = _
    DateSerial(IntYear, 1, 1) & _
                  DateSerial(IntYear, 1, 6) & _
                  DateSerial(IntYear, 3, 1) + OsterDatum + (OsterDatum > 48) + 6 - ((IntYear + IntYear \ 4 + OsterDatum + (OsterDatum > 48) + 1) Mod 7) - 2 & _
                  DateSerial(IntYear, 3, 1) + OsterDatum + (OsterDatum > 48) + 6 - ((IntYear + IntYear \ 4 + OsterDatum + (OsterDatum > 48) + 1) Mod 7) + 1 & _
                  DateSerial(IntYear, 5, 1) & _
                  DateSerial(IntYear, 3, 1) + OsterDatum + (OsterDatum > 48) + 6 - ((IntYear + IntYear \ 4 + OsterDatum + (OsterDatum > 48) + 1) Mod 7) + 39 & _
                  DateSerial(IntYear, 3, 1) + OsterDatum + (OsterDatum > 48) + 6 - ((IntYear + IntYear \ 4 + OsterDatum + (OsterDatum > 48) + 1) Mod 7) + 50 & _
                  DateSerial(IntYear, 3, 1) + OsterDatum + (OsterDatum > 48) + 6 - ((IntYear + IntYear \ 4 + OsterDatum + (OsterDatum > 48) + 1) Mod 7) + 60 & _
                  DateSerial(IntYear, 10, 3) & _
                  DateSerial(IntYear, 11, 1) & _
                  DateSerial(IntYear, 12, 24) & _
                  DateSerial(IntYear, 12, 25) & _
                  DateSerial(IntYear, 12, 26) & _
                  DateSerial(IntYear, 12, 31) & _
                  "31.10.2017"
    FName = Array("Neujahr", "Dreikönig", "Karfreitag", "Ostermontag", "Tag der Arbeit", "Christi Himmelfahrt", "Pfingstmontag", "Fronleichnam", "Tag der Einheit", "Allerheiligen", "Heiligabend", "1. Weihnachtstag", "2. Weihnachtstag", "Silvester", "Reform")
    If InStr(DatumString, Zelle) > 0 Then Feiertag2 = FName(InStr(DatumString, Zelle) / 10)
End Function
0 Punkte
Beantwortet von twototoulouse Mitglied (377 Punkte)
Hallo Karin & Anonym!

Vielen Dank für Eure schnellen Antworten!

Also Anonym, was für Eine Mühe mit so einem Makro, Vielen Dank dafür.

Allerdings ist die Lösung von Karin die schnellste und genau das was ich gebracht habe, vielen Dank Karin.

Immer wieder eine Freude, wie einem hier geholfen wird!

Grüße

Hans-Jörg
0 Punkte
Beantwortet von skillpassenger Einsteiger_in (5 Punkte)

Mir ist klar, dass bei der Verwendung von Excel jedes Format absolute Genauigkeit erfordert. Das ist leicht zu verstehen, wenn schon ein kleiner Befehl hinter den Kulissen heimlich zu Fehlbedienungen führt. Das Wissen, das die Leute teilen, ist wirklich nützlich. Erfahren Sie mehr über Funktionen bei Verwendung in verschiedenen Situationen 

geometry dash lite

...