excel - 如何从按钮调用宏并传递参数

标签 excel vba

我想在我的 Excel 工作表中添加一个按钮,该按钮应该调用一个可以处理一个参数(整数值)的宏。遗憾的是,在创建按钮时,我无法链接任何带有参数的宏。另外,仅输入宏和参数是行不通的。

是否有任何简单的解决方案可以在按下按钮时将参数传递给宏?

最佳答案

是的,您可以将宏分配给按钮(或其他 Excel 控件/菜单操作)并向其传递常量或变量参数。

在“分配宏”窗口中(右键单击对象并选择“分配宏”):

  • 将宏名称括在单引号中 例如传递 2 个常量:'Button1_Click("A string!", 7)'
  • 在“宏位于”字段中选择“此工作簿”
  • 如果您希望传递变量(例如单元格的值),请将参数括在 Evaluate() 中

例如,要将 Sheet1!$A$1 的值传递给按钮函数,您将在“宏名称:”字段中包含以下文本:

Button1_Click(Evaluate("Sheet1!$A$1"))

如果您没有使用“Evaluate”函数将变量参数括起来,Excel 将返回错误“公式太复杂,无法分配给对象。”。

如果我的第一篇文章允许的话,我会包含一张图片。

关于excel - 如何从按钮调用宏并传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29858176/

相关文章:

excel - 如何以编程方式将 Excel 数据导入到 Access 表中?

arrays - 如何将一维数组复制到另一个一维数组和二维数组?

vba - 如何忽略 range.find 函数中的通配符

sql - 在 MS-Access VBA 中查询 Excel 工作表(使用 ADODB 记录集)

django - 无法通过 Django View 打开作为附件返回的 XLS

excel - 为什么人们要动态添加对 XLA 的引用?

excel - 在 Excel 2016 Power Query 中创建时如何修改 Excel 2013 中的查询

xml - 在 Excel VBA 中构建数组时下标超出范围?

c# - 按名称访问 excel 单元格

Excel - 在整个电子表格中连续测试两个条件