我正在处理Excel工作表,其中我按行排列数据,并且需要一种方法来运行VBA宏,该宏将根据特定行中的数据执行程序。
我努力实现的目标是找到一种机制,让用户只需点击数据后按钮就可以完成此任务。用户也应该能够复制现有的行(以及使用它的宏触发器)并执行与该新行相关的宏,而无需进行任何代码修改。
到目前为止,我所尝试的是excel按钮,但它无法绑定到某个单元格。每次添加新行时,都必须手动分配宏。
我也试过了#Worksheet_SelectionChange'过滤到包含类似链接的文本的某个列的事件。这在某种程度上工作正常,但有些用户使用箭头键在工作表内导航,如果宏单元格被选中,则意外触发宏。此外,鼠标光标在悬停时不会改变为指向手指。
最后一次尝试是尝试使用=HYPERLINK("#'Sheet1'!E3";"Run macro")
- 函数并将其与“工作表_FollowHyperlink'”一起使用。但是,在这种情况下,如果超链接指向当前工作表,则不会触发事件。
答案 0 :(得分:1)
以下是您如何执行此操作的示例:
在宏中:
Sub MM()
Dim rowNumber As Long
rowNumber = Shapes(Application.Caller).TopLeftCell.Row
Debug.Print Range("A" & rowNumber).Value
End Sub