如何在不知道工作表名称的情况下使用Onaction VBA命令?

时间:2019-10-17 21:34:43

标签: excel vba

我正在尝试使用以下宏将vba代码分配给形状。

使用代码时,出现运行时错误438“对象不支持此属性或方法”

我的工作表编号始终在变化,因此我无法将其硬编码为以下代码。

这是我正在使用的代码:

Sub assignCodeToShape()
Dim x As Integer
x = getSheetNumber
ActiveSheet.Shapes("fileShape").OnAction = Sheets(x) & ".CommandButton1_Click"
End Sub

Function getSheetNumber as Integer()
    getSheetNumber =ActiveSheet.Index
End Function

1 个答案:

答案 0 :(得分:4)

您可以这样做:

With ActiveSheet
    .Shapes("fileShape").OnAction = .CodeName & ".CommandButton1_Click"
End With
相关问题