【发布时间】:2020-03-16 12:59:03
【问题描述】:
我想在 Sub 的末尾调用/激活一个按钮。我知道命令按钮的单元格地址,但我不知道按钮的名称/ID。 如何选择/激活按钮而不循环通过活动工作表上的每个按钮? https://stackoverflow.com/a/30600479/13049793
我在多行上创建了我的按钮,每个按钮都分配给同一个宏,据我了解,我不能调用按钮分配给的宏,因为宏使用按钮的相对位置,下面是一个简单的例子来说明按钮相对位置的使用:
Sub ExampleButtonClick()
Dim Cellvalue As String
Cellvalue = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Offset(0, -1).Value
Msgbox (Cellvalue)
End Sub
【问题讨论】:
-
这似乎是一个 XY 问题......你实际上在你的 Sub 中做什么?
-
嗨 @BigBen 我有两个 Subs,一个将数据导入 Excel,另一个导出数据。他们使用存储在按钮相邻单元格中的文件和文件夹位置。我现在希望通过在导入子结束时调用导出按钮来减少按钮点击。
-
那么您大概已经将相邻单元格作为范围变量了吗?
-
@BigBen 是的,当前已知相邻单元格。我希望让 A 行 Button1 调用 A 行 Button2 和 B 行 Button1 调用 B 行 Button2。我基本上将按钮复制并粘贴到每一行。
-
重写您导出的子程序以将范围作为参数。然后让按钮根据您已有的
TopLeftCell逻辑调用该子。这样,您可以保留按钮的功能,但也只需调用导出子并将其传递给适当的范围。