我一直在努力解决这个错误,整个早晨都无法解决。看起来Excel真的只是不希望我设置这种形状的OnAction属性。
形状是一组其他矩形/文本框的一部分。
该代码适用于非分组形状。
Function Macro1()
MsgBox (ActiveSheet.Shapes("box").OnAction) 'Returns the current OnAction string, as expected.
ActiveSheet.Shapes("box").OnAction = "'WorksheetName'!Macro2" '1004 error occurs here
End Function
我已经尝试将其设置为“ 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