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.
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!
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
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
25.12.2023, 19:49 (Dieser Beitrag wurde zuletzt bearbeitet: 25.12.2023, 20:25 von Egon12.)
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.