Excel 2010 – 错误:无法使用.onAction运行macrosSelectCell
我一直在寻找解决这个问题的networking,但由于某种原因,我永远无法find任何与使用.onActionselect特定单元格直接相关的任何东西。
我正在用另一个问题的答案作为参考:
- https://stackoverflow.com/a/18199035
在循环形状的部分,脚本为每个形状分配一个.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创build了一个子程序来显示作为debugging发送的值。 同样的错误。
我试图让Excel允许所有的macros,并禁用所有的macros,但它没有对错误的影响。
如果任何人有任何想法,我可能会错误或任何资源,我可以用来进一步教育自己,这将不胜感激。
这(在一个普通模块中的两个子)都适用于我。
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”是一个macros名称,并且传入“Sheet 1”,“$ C $ 10”作为参数(作为string)。 无论何时在赋值运算符(等号)的右侧进行调用,都需要使用父项来传递参数。 例如,
.OnAction = "SelectCell "Sheet 1","$C$10""
是错的,而且
.OnAction = "SelectCell ("Sheet 1","$C$10")"
是对的。
尝试一下,但是没有太多的代码我就没有太多的东西了。 如果macros在另一个模块中,您也可以尝试使用完全限定的macros名称。