Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Set Shape.OnAction导致1004错误:应用程序定义的错误或对象定义的错误_Excel_Vba - Fatal编程技术网

Excel Set Shape.OnAction导致1004错误:应用程序定义的错误或对象定义的错误

Excel Set Shape.OnAction导致1004错误:应用程序定义的错误或对象定义的错误,excel,vba,Excel,Vba,我整个上午都在试图解决这个错误,但无法处理它。看起来Excel真的不希望我设置此形状的OnAction属性 该形状是一组其他矩形/文本框的一部分 该代码适用于未分组的形状 工作簿没有锁定的内容 没有外部宏或任何东西,这两个函数都在同一个模块中 我尝试将它设置为“Macro2”,Macro2,在OnAction行之前将其保存为字符串,甚至尝试将其设置为空字符串“”。无骰子。已解决。组形状会干扰单个形状属性。以下操作用于断开编组、编辑形状,然后重新编组: Function Macro1()

我整个上午都在试图解决这个错误,但无法处理它。看起来Excel真的不希望我设置此形状的OnAction属性

该形状是一组其他矩形/文本框的一部分

该代码适用于未分组的形状

  • 工作簿没有锁定的内容
  • 没有外部宏或任何东西,这两个函数都在同一个模块中
我尝试将它设置为“Macro2”,Macro2,在OnAction行之前将其保存为字符串,甚至尝试将其设置为空字符串“”。无骰子。

已解决。组形状会干扰单个形状属性。以下操作用于断开编组、编辑形状,然后重新编组:

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错误这似乎是一个重要的细节。