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

时间:2014-08-08 12:11:06

标签: excel excel-vba cell vba

当用户点击该行中的另一个单元格时,我使用以下代码将今日日期插入单元格。

目前代码就像这样;如果用户单击单元格AQ8,则将日期插入单元格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单元格将日期插入该行的相应单元格中。因此,如果单击单元格AQ9,则AS9显示今天的日期,当它们单击AQ10时,AS10显示今天的日期,依此类推。这会被写成目标行函数吗?如果是这样我怎么写这样的东西?有人可以告诉我如何才能让我做到我需要做的事,提前谢谢

2 个答案:

答案 0 :(得分:1)

如果您不想按编号引用列,即您想使用“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行的引用是假的,因为代码只选择该范围的.Column

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

答案 1 :(得分:0)

像那样更新:

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

AQ = 43列中的每一行都用日期更新。