Clever-Excel-Forum

Normale Version: Kommentare in Kalender
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo,

Zitat:wenn man zB. das Jahr 2024 einstellt und den 29.2.24 den es ja nicht gibt als Termin einträgt. 

sagt wer? Da ist mein Kalender ganz anderer Meinung.
Eingaben 23 waren gemeint! Bereits korrigiert!

Er Kommentiert alle Termine wenn diese 2023 sind auch im Kalender Jahr 2024. Halt ohne bedingte Formatierung der Zellen.
ja das liegt an den nicht in den Zellen vorhandenen Datum (Jahr).
 
Da bleibt nur der Vergleich des Kalenderjahres in B2 mit dem Datum jeweiligen Datum im Listobject.
Anbei die Abfrage des Kalenderjahres in der Schleife.
[attachment=50304]
 
Gruß Uwe
Irgendwie macht der mit dem geänderten Code bei meiner Datei keine Kommentare mehr!
Du hast das Kalenderjahr um eine Spalte verschoben

also die Abfrage des Kalenderjahres dann so:
Code:
If Tabelle1.Cells(2, 3) = Year(.ListObjects(1).DataBodyRange.Cells(i, 1)) Then .....
Aber ich sehe ein weiteres Problem. Wenn an einem Tag mehrere Termine anstehen, muss unten angefügt werden.
Änderungen siehe Datei.
[attachment=50306]

Gruß Uwe
Besten Dank. Dass hab ich komplett übersehen.
Reicht auch für heute.
Schönen Weihnachten wünsche ich Euch!

Ich habe folgende bedingte Formatierung:
Code:
=UND(VERGLEICH(DATUM($B$2;12;U42);$AC$9:$AC$47;0);VERGLEICH(DATUM($B$2;12;U42);$AF$9:$AF$47;0))

AC9:AC47 = sind Feiertage
AF9:AF47  = sind Termine


Wie kann ich diese Formel um HEUTE() ändern?

Die bisherige Formel schaut nach Feiertagen und Terminen und Formatiert die Zelle
(Rot Hintergrund - Blau Schrift)

Jetzt soll er nach Terminen Schauen und HEUTE()
Formatierung zb. Grün Hintergrund für HEUTE() - Blau Schrift wenn Termin

Vielen Dank
(24.12.2023, 17:50)Andyle schrieb: [ -> ]Schönen Weihnachten wünsche ich Euch!

Ich habe folgende bedingte Formatierung:
Code:
=UND(VERGLEICH(DATUM($B$2;12;U42);$AC$9:$AC$47;0);VERGLEICH(DATUM($B$2;12;U42);$AF$9:$AF$47;0))

AC9:AC47 = sind Feiertage
AF9:AF47  = sind Termine


Wie kann ich diese Formel um HEUTE() ändern?

Die bisherige Formel schaut nach Feiertagen und Terminen und Formatiert die Zelle
(Rot Hintergrund - Blau Schrift)

Jetzt soll er nach Terminen Schauen und HEUTE()
Formatierung zb. Grün Hintergrund für HEUTE() - Blau Schrift wenn Termin

Vielen Dank
Hat sich erledigt!

Lösung:
Code:
=UND(DATUM($B$2;12;U42)=HEUTE();VERGLEICH(DATUM($B$2;12;U42);$AF$9:$AF$47;0))
Ich habe ketzt folgenden Kommentarcode:

Der funzt auch soweit, dass er alle nicht existierendes Datum erkennt.

Wie kann ich diesen Code anpassen, dass er bis auf die nicht existierenden Datums alle anderen Kommentare setzt?
So wie der Code jetzt ist, setzt er keine Kommentare!

Danke für Eure Hilfe
Code:
Sub TerminKommentarfeld()

Worksheets("Kalender").Unprotect 'Blattschutz aufheben

    Dim cell As Object
    Dim rngDate As Date
    Dim rngTermin As Range
    Dim Monat$
    Dim strgComm$
    Dim i&
    With Tabelle1
        For Each cell In Range("rng_Datum").Cells
            If Not cell.Comment Is Nothing Then cell.Comment.Delete
        Next
        For i = 1 To .ListObjects(1).DataBodyRange.Rows.Count
            If .ListObjects(1).DataBodyRange.Cells(i, 1) <> "" And .ListObjects(1).DataBodyRange.Cells(i, 2) <> "" And _
               .ListObjects(1).DataBodyRange.Cells(i, 3) <> "" Then
               
                With .ListObjects(1).DataBodyRange
               
                'eingefügter Code
                If IsDate(.Cells(i, 1)) = False Then
                MsgBox .Cells(i, 1) & " ist kein gültiges Datum!" & Chr(10) & Chr(10) & "Bitte korrigieren!"
                Else
                'eingefügter Code
               
                    strgComm = "Datum: " & .Cells(i, 1) & Chr(10) & "Wann: " & Format(.Cells(i, 2), "hh:mm") & _
                    " Uhr" & Chr(10) & "Was: " & .Cells(i, 3)
                   
                'eingefügter Code
                End If
                'eingefügter Code
     
                End With
               
                'eingefügter Code
                If .ListObjects(1).DataBodyRange.Cells(i, 1) = False Then
                'eingefügter Code

                rngDate = .ListObjects(1).DataBodyRange.Cells(i, 1)
               
                Monat = "rng_" & Month(.ListObjects(1).DataBodyRange.Cells(i, 1))
                If Tabelle1.Cells(2, 2) = Year(.ListObjects(1).DataBodyRange.Cells(i, 1)) Then
                    Set rngTermin = .Range(Monat).Find(Day(rngDate), LookIn:=xlValues, LookAt:=xlWhole)
                    If Not rngTermin Is Nothing Then
                        If rngTermin.Comment Is Nothing Then rngTermin.AddComment
                        rngTermin.Comment.Text Text:=strgComm
                    End If
                   

                End If
               
                'eingefügter Code
                End If
                'eingefügter Code
           
            End If
            strgComm = ""
        Next i
       
    End With
   
Worksheets("Kalender").Protect 'Blattschutz aufheben

End Sub
Hallo,
 
der Code geht in einer Schleife Zeile für Zeile das Listobject (formatierte Tabelle) durch und trägt diese jeweilige Zeile in die zutreffende Zelle.
29.2.23 wird nicht ausgeführt. da dieses Datum nicht 2023 existiert.
Ergo dieser Code von mir sucht nicht nach "nicht vorhandenen Terminen" sondern klappert in einer Schleife vorhandene Terminen mit real existierenden Datum ab.
 
Gruß Uw
Seiten: 1 2 3 4