Excel Set Shape.OnAction导致1004错误:应用程序定义的错误或对象定义的错误
我整个上午都在试图解决这个错误,但无法处理它。看起来Excel真的不希望我设置此形状的OnAction属性 该形状是一组其他矩形/文本框的一部分 该代码适用于未分组的形状Excel Set Shape.OnAction导致1004错误:应用程序定义的错误或对象定义的错误,excel,vba,Excel,Vba,我整个上午都在试图解决这个错误,但无法处理它。看起来Excel真的不希望我设置此形状的OnAction属性 该形状是一组其他矩形/文本框的一部分 该代码适用于未分组的形状 工作簿没有锁定的内容 没有外部宏或任何东西,这两个函数都在同一个模块中 我尝试将它设置为“Macro2”,Macro2,在OnAction行之前将其保存为字符串,甚至尝试将其设置为空字符串“”。无骰子。已解决。组形状会干扰单个形状属性。以下操作用于断开编组、编辑形状,然后重新编组: Function Macro1()
- 工作簿没有锁定的内容
- 没有外部宏或任何东西,这两个函数都在同一个模块中
Function Macro1()
With ActiveSheet
.Shapes("Home").Ungroup
.Shapes("box").OnAction = "Macro2"
With .Shapes.Range("box").Regroup
.Name = "Home"
End With
End With
End Function
已解决。组形状会干扰单个形状属性。以下操作用于断开编组、编辑形状,然后重新编组:
Function Macro1()
With ActiveSheet
.Shapes("Home").Ungroup
.Shapes("box").OnAction = "Macro2"
With .Shapes.Range("box").Regroup
.Name = "Home"
End With
End With
End Function
因此,
Macro2
位于工作表代码模块中,而不是常规模块?它与Macro1位于同一模块中。不在工作表中。那你为什么有“工作表名”代码>包含?如果省略“工作表名称”,则会出现相同的1004错误这似乎是一个重要的细节。因此,Macro2
位于工作表代码模块中,而不是常规模块?它与Macro1位于同一模块中。不在工作表中。那你为什么有“工作表名”代码>包含?如果省略“工作表名称”,则会出现相同的1004错误这似乎是一个重要的细节。