ich habe ein kleines Problem mit VBA. Ich habe eine Datei in der offene Aufgaben dokumentiert werden.
Man kann jedem Thema auch ein Datum zuweisen, und zwar
Spalte I --> Due Date
Spalte J --> New Date
Spalte K --> closing date
In dieser Datei öffnet ein rechtsklick in diesen Spalten einen Kalender und man kann das Datum auswählen.
Nun kann es aber sein das etwas in Zeile D eingetragen ist, dadurch wird (nur wenn die Zelle I/J/K leer ist) über bedingte Formatierung das Wort Action eingetragen.
Mit diesem Codeabschnitt konnte ich bis jetzt die Zelle I/J/K anklicken, dann wurde zuerst der _ Inhalt gelöscht und danach der kalender wie gewohnt geöffnet.
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
On Error Resume Next
T_LOP_Worksheet_BeforeRightClick Target, Cancel
If Target.Column = 10 Then
Dim ComStr As String
Dim LineArr As Variant
Dim s As Long
Dim i As Long
If Target.Column = 10 Then Kalender_anzeigen
Cancel = True
End If
If Target.Column = 11 Then Kalender_anzeigen
Cancel = True
For Each c In ActiveSheet.Comments
With c.Shape
.TextFrame.AutoSize = True
End With
Next
'rechtsklick zelle leeren dann datum per kalender eintragen
Set SMenge = Application.Intersect(Range("I10:K5000"), Range(Target.Address))
If SMenge Is Nothing Then Exit Sub
Target = ""
Cancel = True
End Sub
Mein Ziel ist es jetzt aber, das ein Rechtsklick in entweder I/J/K nicht nur die angeklickte Zelle leert, sondern auch die zwei "übriggebliebenen". Jedoch soll bloß in der angeklickten Zelle der Kalender aufgehen.
Wie muss ich den Code jetzt anpassen, damit das passiert?
PS: Entschuldigt diesen zusammengeschusterten Code, ich bin ein absoluter Neuling in VBA und habe alles in eine bestehende Datei eingebaut, daher bin ich froh wenn ich überhaupt etwas zum laufen bekomme.
Vielen Dank und gruß