ich habe eine Grafik in ein Tabellenblatt mit dem Namen "Eingabewerte" eingebettet. Die Grafik heißt "Picture 196" (der Name wurde beim Einfügen automatisch vergeben, kann man den auch ändern?). Das Tabellenblatt darf nicht geschützt werden. Dennoch möchte ich verhindern, dass die Grafik mit der Maus ausgewählt und verschoben werden kann.
Dazu habe ich die Grafik mit einem Makro unterlegt, das sofort wieder die letzte aktive Zelle des Tabellenblattes auswählt. Für die linke Maustaste klappt das auch, aber bei der rechten wird das Makro nicht ausgeführt und die Grafik bleibt markiert und kann dann verschoben werden (das Kontextmenü konnte ich dank dieses Forums bereist abschalten).
Gibt es ein Ereignis, das auf die Auswahl der Grafik reagiert und über das ich das Makro ausführen könnte?
Ich habe dann noch die Idee, die Grafik in einen Diagrammrahmen einzubinden und das Ereignis auf das Diagramm statt direkt auf die Grafik reagieren zu lassen.
Folgendes Beispiel habe ich in der Beispielrubrik auf dieser Seite gefunden:
ClassModule: DieseArbeitsmappe
Private Sub Workbook_Open()
Worksheets("Tabelle1").Select
Set rng = ActiveCell
End Sub
ClassModule: Tabelle1
Dim MeinDiagramm As New Klasse1
Private Sub Worksheet_Activate()
Set MeinDiagramm.Diagramm = ChartObjects(1).Chart
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set rng = ActiveCell
End Sub
ClassModule: Klasse1
Dim MyButton As Long
Public WithEvents Diagramm As Chart
Private Sub Diagramm_BeforeRightClick(Cancel As Boolean)
If MyButton = xlSecondaryButton Then
Cancel = True
MsgBox "Hallo User!"
End If
End Sub
Private Sub Diagramm_MouseDown(ByVal Button As Long, ByVal Shift As Long, ByVal x As Long, _
ByVal y As Long)
MyButton = Button
End Sub
Private Sub Diagramm_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
Call Diagramm_BeforeRightClick(True)
rng.Select
End Sub
StandardModule: Modul1
Public rng As Range
Allerdings habe ich es nicht zum Funktionieren gebracht. Ich habe manuell ein Diagramm mit dem Namen "Diagramm 220" eingefügt.
Ich weiß nicht recht, wo ich welche Befehle eintragen muss und welche ich überhaupt benötige.
Bei "Dim MeinDiagramm As New Klasse1" wird mir ein Fehler angezeigt. Der Befehl soll ja anscheinend in den Code von Tabelle1 integiert werden, das wäre bei mir "Eingabewerte". Aber wo hier? Unter "Allgemein"). Wo schreibe ich den Code von ClassModule: Klasse1 hin? Wo finde ich Klasse1 im VB-Editor?
Könnte jemand den Code mit meinen Namen (Eingabewerte, Picture 196, Diagramm 220) anpassen?
Vielen Dank für eure Hilfe.
Lupo