Вы можете использовать свой код для любой фигуры, и вы можете изменить код в любое время, но при назначении макроса, эта форма не будет выбрана при нажатии ... Это становится своего рода контролем.
За исключением случая, когда вы заставляете его выбрать:
Debug.Print ActiveSheet.Shapes(Application.Caller).Name
shW.ComboBox1.value.Shapes(Application.Caller).Select
Вы можете изменить код из контекстного щелчка правой кнопкой мыши (в нижней части диаграммы) и выбрать «Назначить макрос ... -> Редактировать».
Вы можете найти выбранную фигуру, используя следующий код:
Sub testSelectedShape()
Dim shW As Worksheet, sh As Object, selSh As Object
Set shW = ActiveSheet
If TypeName(Selection) <> "Range" Then
Set selSh = Selection
Set sh = shW.Shapes(selSh.Name)
Debug.Print selSh.Name
shW.ComboBox1.value = selSh.Name
End If
End Sub
Вы можете просто удалить ее, используя sh.Delete
...