当另一个单元格input值时,Excel将date时间input到单元格中

我正在尝试创build一个充当每行唯一键值的列,在最后一列input数据时添加Now()值。 我已经创build了一个sub来检查单元格的范围,select一个单元格,并在其中包含一个值,如果是,则将Now()值添加到另一个列,以充当该行的唯一标识符。 这是我到目前为止的代码:

Private Sub Worksheet_SelectionChange(ByVal Target As range) 'Check to see if the click/selected cell is in column H If Not Intersect(Target, range("H:H")) Is Nothing Then 'Make sure just one cell is selected and it isnt empty If Target.Cells.Value <> "" And Target.Row > 7 And Target.Row <= 20 Then 'Update the "KeyA" value range("A" & Target.Row).Value = Now() End If End If End Sub 

不幸的是,如果所选单元格中已经有一个值,那么只会将Now()值添加到键列中,所以如果单击空单元格然后添加值,则不会将Now()添加到键列。 一旦一个条目被添加到选定的单元格,而不必在添加一个值之后重新select这个单元格,我该如何使子添加Now()的值?

使用Worksheet_Change事件而不是Worksheet_SelectionChange

当目标单元格中​​的值被修改时, Change将会触发,而SelectionChange在您select其他单元格时触发。