Es ist nicht üblich auf normale Klicks zu reagieren - deshalb werden auch nur Ereignisse für den Rechtsklick und den Doppelklick überhaupt angeboten.
Mit Board-Mitteln kann man sich allerdings etwas basteln.
'im Diagrammblatt
Option Explicit
Private m_dtmLMBDown As Variant
Private Sub Chart_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
m_dtmLMBDown = Application.Evaluate("NOW()") ' hat eine höhere Genauigkeit als VBA.Now()
End Sub
Private Sub Chart_MouseUp(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, ByVal y As Long)
Dim dtm As Date: dtm = Application.Evaluate("NOW()") ' hat eine höhere Genauigkeit als VBA.Now()
If IsEmpty(m_dtmLMBDown) Then Exit Sub
If Button <> XlMouseButton.xlPrimaryButton Then Exit Sub
If dtm - m_dtmLMBDown <= 0.0000018 Then '< der Schwellwert ist grob ermittelt
Debug.Print Time$; " Click event"
End If
m_dtmLMBDown = Empty
End Sub
Jetzt ist das für deinen Fall noch nicht die finale Lösung, da du ja das Diagramm per VBA erstellst. Entweder fügst du den obigen Code per VBE hinzu, oder du erststellst dir eine versteckte Vorlage, welche bereits das Makro beinhaltet, und du kopierst dieses statt ein neues Diagramm zu erstellen.
Ein anderer Ansatz wäre, dein erstelltes Chart in einer Klasse zu kapseln und dich dort auf die Events zu hängen.
Grüße
|