AW: Geb. im Kommentar anzeigen
20.12.2008 08:58:00
Beverly
Hi Peter,
wenn du den 29.02. (irgendeines Jahres) einträgst, wird dieser natürlich nicht gefunden, wenn er in deinem Kalender nicht vorkommt, also das Kalenderjahr kein Schaltjahr ist. Folglich entsteht ein Fehler. Ändere den Code wie folgt, dann wird der Kommentar trotzdem unter der schwarz formatierten Zelle eingetragen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
Dim raBereich As Range
Set raBereich = Union(Range("D2:AH2"), Range("D5:AH5"), Range("D8:AH8"), Range("D11:AH1"), _
Range("D14:AH14"), Range("D17:AH17"), Range("D20:AH20"), Range("D23:AH23"), Range("D26:AH26"), Range("D29:AH29"), Range("D32:AH32"), Range("D35:AH35"))
If Target.Column 7 Then Exit Sub
If IsDate(Target) Then
If Month(Target) = 2 And Day(Target) = 29 Then
If DateAdd("d", 1, "28.02." & Year(Date)) = CDate("29.02." & Year(Date)) Then
If Worksheets("Kalender").Range("AF7").Comment Is Nothing Then
Worksheets("Kalender").Range("AF7").AddComment Target.Offset(0, -1) & " " & _
Target.Offset(0, 1)
Else
If InStr(Worksheets("Kalender").Range("AF7").Comment.Text, Target.Offset(0, -1) & _
" " & Target.Offset(0, 1)) = 0 Then
Worksheets("Kalender").Range("AF7").Comment.Text Worksheets("Kalender").Range( _
"AF7").Comment.Text & vbLf & Target.Offset(0, -1) & " " & Target.Offset(0, 1)
End If
End If
End If
Else
For Each raZelle In Worksheets("Kalender").Range(raBereich.Address)
If Day(raZelle) = Day(Target) And Month(raZelle) = Month(Target) Then
If raZelle.Offset(2, 0).Comment Is Nothing Then
raZelle.Offset(2, 0).AddComment Target.Offset(0, -1) & " " & Target.Offset(0, _
1)
Else
If InStr(raZelle.Offset(2, 0).Comment.Text, Target.Offset(0, -1) & " " & _
Target.Offset(0, 1)) = 0 Then
raZelle.Offset(2, 0).Comment.Text raZelle.Offset(2, 0).Comment.Text & _
vbLf & Target.Offset(0, -1) & " " & Target.Offset(0, 1)
End If
End If
raZelle.Offset(2, 0).Comment.Shape.OLEFormat.Object.AutoSize = True
Exit For
End If
Next raZelle
End If
End If
End Sub