Supportnet / Forum / Tabellenkalkulation
Shapes der aktiven Zelle folgen lassen
Frage
Hallo Jungs,
ich möchte gerne ein Shape, das zum Aufruf verschiedener Makros dient der aktiven Zelle folgen lassen. Wenn also irgendwo hingeklickt wird, wird das Makro aufgerufen, es schneidet das Shape aus und fügt es offset -3-3 wieder ein. Meine größten Probleme dabei:
*Der Name des Shapes wechselt scheinbar dauernd? (Durch das Einfügen vielleicht?)
*Wie lautet das Ereignis für jedes Ändern einer Zelle?
Für Ratschläge dankt recht herzlich
guethi
Antwort 1 von JoeKe
Hallo guethi ,
kopiere folgenden Code in das VBA-Projekt des Tabellenblatts auf dem sich das Shape befindet:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To ActiveSheet.Shapes.Count
If i > 0 Then ActiveSheet.Shapes(i).Cut
ActiveCell.PasteSpecial
Next
Application.ScreenUpdating = True
End Sub
Er wird ausgeführt, wenn du in eine Zelle doppelt klickst.
Mit:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To ActiveSheet.Shapes.Count
If i > 0 Then ActiveSheet.Shapes(i).Cut
ActiveCell.PasteSpecial
Next
ActiveCell.Select
End Sub
würde dein Shape der Aktivenzelle folgen. Aber es könnte auch nur die Aktivezelle bearbeitet werden, keine Bereiche.
MfG
JöKe
kopiere folgenden Code in das VBA-Projekt des Tabellenblatts auf dem sich das Shape befindet:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To ActiveSheet.Shapes.Count
If i > 0 Then ActiveSheet.Shapes(i).Cut
ActiveCell.PasteSpecial
Next
Application.ScreenUpdating = True
End Sub
Er wird ausgeführt, wenn du in eine Zelle doppelt klickst.
Mit:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To ActiveSheet.Shapes.Count
If i > 0 Then ActiveSheet.Shapes(i).Cut
ActiveCell.PasteSpecial
Next
ActiveCell.Select
End Sub
würde dein Shape der Aktivenzelle folgen. Aber es könnte auch nur die Aktivezelle bearbeitet werden, keine Bereiche.
MfG
JöKe
Antwort 2 von guethi
Hallo JöKe,
vielen Dank für deine Hilfe. Leider hat sich bei mir so einiges Überschlagen (projektmäßig), so dass ich an der Geschichte nicht mehr weitergebaut habe. Aber Wissen wird ja nicht schlicht.:-)
Beste Grüße,
guethi
vielen Dank für deine Hilfe. Leider hat sich bei mir so einiges Überschlagen (projektmäßig), so dass ich an der Geschichte nicht mehr weitergebaut habe. Aber Wissen wird ja nicht schlicht.:-)
Beste Grüße,
guethi
Antwort 3 von JoeKe
Moin guethi,
vielen Dank für deine Rückinfo, auch wenn du das Projekt nicht weiter verfolgst.
MfG
JöKe
vielen Dank für deine Rückinfo, auch wenn du das Projekt nicht weiter verfolgst.
MfG
JöKe