【发布时间】:2020-05-24 16:09:29
【问题描述】:
我创建了 VBA 来操作当前工作表中的单元格(由 SelectionChange 事件处理程序触发)。
如何在我的工作簿的任何工作表中触发此触发器? (该操作应该只对当前处于活动状态的工作表做出反应和修改。)
这是一个例子:它获取当前单元格的值,并将其复制到“A1”:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(1, 1).Value = Cells(Target.Row, Target.Column).Value
End Sub
(真正的代码要复杂得多——而且在制品是固定不变的——所以我真的不想把它复制到每张纸上。)
【问题讨论】:
-
你试过Workbook_SheetSelectionChange .. 所以会像
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Cells(1, TargetColumn + 1).Value = Cells(Target.Row, Target.Column).Value End Sub -
复制到“A1” ??不.. 那为什么 .
Cells(1, TargetColumn + 1).Value而不是Cells(1,1)?此外,您可以引用Target而不是Cells(Target.Row, Target.Column).Value -
这是 VBA 而不是 VBScript。