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, 20:49 (Dieser Beitrag wurde zuletzt bearbeitet: 25.12.2023, 21: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.