SelectionChange 获取用户名和日期

SelectionChange to get username and date

我是 Excel VBA 的新手,我正在尝试编写一些代码来实现以下目标: 当单击 A 列中包含文本“123”或“xyz”的单元格时,在同一行但在 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 上出现变量未定义错误,但是我觉得我的代码似乎还有很多其他问题。

你并没有走得太远。我认为这应该可以正常工作:

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