如何在标准模块中使用Target参数?

我试图找出一些东西。 到目前为止,我还没有任何可用的代码,除了我正在玩这一行。 为什么我不能使用ThisWorkbook下的“Target”或者Excel中的VB Script模块?

这是我正在尝试使用的代码行:

ActiveWorkbook.ActiveSheet.Range("A1").Value2 = ActiveWorkbook.ActiveSheet.Cells(Target.Row, Target.Column) 

如果我要把这个确切的线条放在一张纸上,它没有问题。 我尝试了许多使用“Target”的变体,如果它在模块中或在ThisWorkbook下,它将不会识别它,并给我一个错误。 现在,如果我要使用特定的位置而不是目标,比如我下面的内容,那么它将毫无问题地工作。

 ActiveWorkbook.ActiveSheet.Range("A1").Value2 = ActiveWorkbook.ActiveSheet.Cells(10, 1) 

有没有什么我可以做的,类似于使用“目标”,可以识别当前的单元格的文本,无论表单或哪个单元格处于活动状态。 换句话说,所以我不必指定具体的位置? 我需要这个工作在ThisWorkbook。

Target是使用事件时的参数名称。

防爆。

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Private Sub Worksheet_Change(ByVal Target As Range) 

除非您在代码中声明它,否则没有对Target的引用( 注意:常规代码模块

 Sub Main() Dim Target As Range Set Target = ActiveCell MsgBox Target.Address & vbNewLine & Target.Row & vbNewLine & Target.Column End Sub 

而不是声明Target作为variables,您也可以使用ActiveCell对象,作为目标相同的方式,因为它们都是Range对象。