SelectionChange获取用户名和日期

时间:2015-02-13 17:24:51

标签: excel vba date username

我是Excel VBA的新手,我正在尝试编写一些实现以下功能的代码: 当在包含文本“123”或“xyz”的A列中单击一个单元格时,同一行但在B列中的单元格记录当前时间,同一行但在C列中的单元格记录了该用户名。点击它的人。

以下是我目前使用的代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim RowNum As Long
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column <> 1 Then Exit Sub
If Not Target.Value.Text = 123 Then Exit Sub
If Not Target.Value.Text = XYZ Then Exit Sub

  RowNum = Target.Row
  Range("B" & RowNum).Value = Date
  Range("C" & RowNum).Value = Environ("UserName")

End Sub

目前我在XYZ上有一个未定义的变量错误,但我觉得我的代码存在很多其他问题。

1 个答案:

答案 0 :(得分:0)

你不是太远了。我认为这应该可行:

Private Sub Worksheet_Change(ByVal Target As Range) '<-- event is change, non selection change

Dim RowNum As Long
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column <> 1 Then Exit Sub
If (Target.Value = "123") Or (Target.Value = "xyz") Then '<-- if the value is either "xyz" or "123"

  RowNum = Target.Row
  Range("B" & RowNum).Value = Now() '<-- current time in column B
  Range("C" & RowNum).Value = Environ("UserName") '<-- username in column C

End If

End Sub