Excel:在单元格上运行macros单击

我正在使用下面的代码插入今天的date到单元格中,当用户单击到该行中的另一个单元格时。

目前代码是这样设置的; 如果用户单击单元格AQ8,然后将date插入单元格AS8。

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Address = "$AQ$8" Then Range("AS8").Value = DATE End If End Sub 

但是,现在我想稍微改变这个代码,以便当用户更改任何行中的任何AQ单元格时,随后的AS单元格将该date插入该行的相应单元格中。 所以,如果单元格AQ9被点击,然后AS9显示今天的date,当他们点击AQ10,然后AS10显示今天的date等等。 这将被写为目标行function? 如果是的话,我会如何写这样的东西? 有人可以告诉我怎么能得到这个做我所需要的,在此先感谢

如果你不想通过数字来引用列,即你想使用“AQ”而不是43,那么下面的工作应该是:

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = Range("AQ1").Column Then Range("AS" & Target.Row).Value = Date End If End Sub 

AQ1对第1行的引用是虚拟的,因为代码只是select该范围的.Column

我正在使用Worksheet_Change因为您说过“当用户更改任何AQ单元格” 。 如果您只希望在用户单击单元格时发生这种情况,则可以继续使用Worksheet_SelectionChange事件。

更新如下:

 If Target.Column = 43 Then Range("AS" & Target.Row).Value = Date End If 

AQ = 43列中的每一行都会更新date。