我试图找到一种方法将params传递给在Excel(2010)中分配给按钮的宏。我已经在this帖子中看到了一些建议的解决方案,但它们都不适合我 - 也许是因为我的设置?
我在加载项文件(macros.xlam)中定义了一个不带参数的宏。我在* .xlsm文件中添加了一个按钮,并将宏附加到它。当我点击按钮宏被调用,它工作正常。我的宏名为导出,它位于 CSV 模块中,所以在按钮的属性中我调用了 CSV.Export < / em>的
我在宏中添加了一个int参数,所以定义现在看起来像这样:
Sub Export(a As Integer)
....
End Sub
现在我想让按钮传递1作为参数。我在Sub的第一行设置了一个断点并尝试了各种方法,但都没有工作:
&#39; CSV.Export 1&#39; - 当我点击按钮没有任何反应时,断点不会被捕获。此外,当我再次编辑宏时,结果表明我输入的内容自动替换为&#39; sheet_name.xlsm&#39;!&#39; CSV.Export 1&#39;。如果我离开它仍然无效。
&#39; CSV.Export(1)&#39; - 当我点击按钮没有任何反应时,断点不会被捕获。这个不会自动替换。
&#39; macros.xlam&#39;!&#39; CSV.Export 1&#39; - 当我点击按钮没有任何反应时,断点不会被捕获。稍后编辑后发现它被替换为&#39; sheet_name.xlsm&#39;!&#39; CSV.Export 1&#39;
&#39; macros.xlam&#39;!&#39; CSV.Export(1)&#39; - 当我点击按钮没有任何反应时,断点不会被捕获。稍后编辑后,它会被&#39; CSV.Export(1)&#39;
取代CSV.Export 1 - 当尝试关闭按钮属性窗口时显示错误,该公式包含错误并且不允许保留该错误
CSV.Export(1) - 这会返回一个错误,说明&#34;公式太复杂而无法分配给对象&#34;。
我希望我的宏可以自定义(用户可以将参数传递给它)。同时我想避免使用hacky硬编码解决方案,例如调用没有params的sub,然后总是假设单元格A1有第一个参数,A2有第二个,依此类推。