当另一个单元格输入值时,Excel将日期时间输入单元格

时间:2016-06-09 13:45:22

标签: excel vba excel-vba date

我正在尝试创建一个列作为每行的唯一键值,通过在最后一列输入数据时添加Now()值。我创建了一个子,它检查要选择的单元格的范围,并在其中有一个值,如果是,则将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()添加到键列。一旦将条目添加到所选单元格而不必在向其添加值后重新选择单元格,如何使sub添加Now()值?

1 个答案:

答案 0 :(得分:1)

使用Worksheet_Change事件代替Worksheet_SelectionChange

修改目标单元格中​​的值时会激活

Change,而当您选择不同的单元格时会激活SelectionChange