Vba Excel 2010-错误:无法使用.onAction运行宏SelectCell

Vba Excel 2010-错误:无法使用.onAction运行宏SelectCell,vba,excel,Vba,Excel,我一直在互联网上寻找这个问题的解决方案,但由于某些原因,我从来没有找到任何与使用.onAction选择特定单元格直接相关的内容 我用另一个问题的答案作为参考: 在循环遍历形状的部分中,脚本为每个形状指定.onAction事件。无论何时在Excel 2010中运行,都会出现以下错误: Cannot run the macro "SelectCell "Sheet 1","$C$10"". The macro may not be available in this workbook or

我一直在互联网上寻找这个问题的解决方案,但由于某些原因,我从来没有找到任何与使用.onAction选择特定单元格直接相关的内容

我用另一个问题的答案作为参考:

在循环遍历形状的部分中,脚本为每个形状指定.onAction事件。无论何时在Excel 2010中运行,都会出现以下错误:

Cannot run the macro "SelectCell "Sheet 1","$C$10"". 
The macro may not be available in this workbook or all macros may be disabled.
我是VBA脚本excel新手,所以我不知道它是否是格式,但我知道它与此行有关

.OnAction = "'SelectCell """ & ws.Name & """,""" & cll.Address & """'"
我为SelectCell创建了一个子过程,以显示作为调试发送的值。同样的错误

我尝试让excel允许所有宏并禁用所有宏,但对错误没有任何影响


如果有人知道我的错误在哪里,或者我可以利用任何资源来进一步教育自己,我将不胜感激。

如果我读对了这篇文章,“SelectCell”是一个宏名称,您将“Sheet 1”和“$C$10”作为参数(字符串)传入。无论何时在赋值运算符(等号)的右侧进行调用,都需要将参数与parenthase一起传入。比如说,

.OnAction = "SelectCell "Sheet 1","$C$10""
是错误的,而且

.OnAction = "SelectCell ("Sheet 1","$C$10")"
这是对的


尝试一下,但是如果没有太多的代码,我将无法完成很多工作。您也可以尝试使用完全限定的宏名称,以防宏位于另一个模块中。

这(常规模块中的两个子模块)对我来说都适用

Sub SelectCell(sht As String, rng As String)
    ThisWorkbook.Sheets(sht).Range(rng).Select
End Sub

Sub Assign()
    ActiveSheet.Shapes(1).OnAction = "'SelectCell """ & _
            Selection.Parent.Name & """, """ & _
            Selection.Address() & """'"
End Sub
如果
SelectCell
位于工作表代码模块中,则需要包括工作表代码名称:

Sub Assign()
    ActiveSheet.Shapes(1).OnAction = "'Sheet1.SelectCell """ & _
            Selection.Parent.Name & """, """ & _
            Selection.Address() & """'"
End Sub

SelectCell在哪里定义?在常规模块中,还是在图纸模块中?如果删除参数,它会运行吗?如果没有单引号,则无法运行,并且在向onAction传递参数时不必使用括号。请尝试使用完全限定的宏名称,看看是否有效。Ex-vbapProject.module1.selectCell