首页 > 解决方案 > 捕捉形状超链接 单击 Excel 工作表

问题描述

我在 Excel 工作表上有一个私有子例程,如下所示:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    Call removeClient(Target.Parent.Row)
End Sub

它成功地捕获了正常的超链接。但是,带有超链接的形状在调用时不会触发此操作。由于这些形状是动态生成的,因此我也不能使用“Private Sub Shape1_Click”事件。

任何解决方法?

标签: excelvba

解决方案


您需要使用该.onAction属性

像这样

Sub t()

Dim s As Shape

Set s = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 400, 70, 50, 50)
s.OnAction = "test_macro"

End Sub

Sub test_macro()
    MsgBox "hello"
End Sub

推荐阅读