Form/Shape mit .OnAction
21.06.2019 12:44:48
Leon.DerProf
ich habe eine Form hinzugefügt, die ein bestimmtes Makro ausführen soll.
Private Sub AktMaß()
Dim Pfeil As Shape
Set Pfeil = Me.Shapes.AddShape(msoShapeCurvedUpArrow, ActiveCell.Left, ActiveCell.Top, _
ActiveCell.Height, ActiveCell.Height)
'msoShapeNoSymbol
'msoShapeRightArrow
With Pfeil
.Placement = xlMoveAndSize
.Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent5
.Fill.ForeColor.Brightness = 0.5
.Fill.Solid
.OnAction = "Sprung1"
End With
End Sub
Die Prozedur "Sprung1" wie folgt:
Sub Sprung1()
ActiveCell.Offset(0, 5).Value = "Hallo Welt"
End Sub
Was ich machen möchte:In Tabelle1 auf Tabellenblatt1 möchte ich eine Form einfügen können und jedes mal, wenn eine Zeile hinzugefügt wird, wird auch automatisch diese Form hinzugefügt, in meinem Fall ein Pfeil, d.h. bei 20 Zeile in Tabelle1 habe ich 20 Pfeile untereinander. Soweit so gut.
Wenn ich nun auf diesen Pfeil klicke, soll auf der Zeile des Pfeils (sagen wir mal Zeile 2), ein Offset(5,0) oder so erfolgen.
Wie ihr meinen Prozeduren entnehmen könnt, habe ich ein Problem mit dem Ausdruck ActiveCell bei der Prozedur Sprung1, denn wenn ich bspw. mit meiner Maus bereits B16 oder so ausgewählt habe und den Pfeil auf C3 klicke, dann erfolgt der Offset nicht von C3 aus, sondern von B16 aus.
Frage:
Wie kann ich Sprung1 modellieren, damit die Selection quasi auf der Zelle des angeklickten Pfeils liegt und ist das überhaupt möglich?