【发布时间】:2015-08-17 20:36:29
【问题描述】:
我遇到了Worksheet_SelectionChange(ByVal Target As Range) 每次点击某些东西时触发的问题,这是我不想要的,因为这意味着我每次点击实际工作表时都必须等待。我将代码更改为Worksheet_Open,但这意味着我必须在想要运行代码时单击“运行”按钮。
因此,我正在寻找一种仅在查看工作表时(而不是在 VBA 编辑器中)运行当前工作表的 VBA 代码的方法。理想情况下,我可以使用Application.OnKey 将其分配给热键,但我不知道如何引用工作表的代码本身。我发现的唯一解决方案是指外部宏,这没有帮助,因为我只想使用工作表中已经存在的代码,因为我为工作簿中的每个工作表使用不同的宏。
【问题讨论】:
-
如果您不希望它响应事件,那么为什么要将它放在工作表的模块中。将其移至标准模块并分配热键。这行得通吗?
-
或者在电子表格中添加一个按钮并将宏附加到按钮上。这对我来说是迄今为止最简单的,因为我总是记错我分配给哪个宏的热键:)
-
@PeterT 你在说命令按钮吗?那会奏效。但这部分只是我学习 VBA 的创意,命令按钮有点太容易了,虽然绝对有效。此外,因为在这种情况下,我有 3 个不同的工作表,这意味着添加 3 个按钮,然后在我将 excel 文件发送给收件人之前删除它们。仍然没什么大不了的,但我正在寻找一种完全自动化的方法。
-
是的,一个表单控件按钮(如果您愿意,可以使用 ActiveX 按钮,但表单控件版本也可以正常工作)。
标签: vba excel excel-2013