SelectionChange获取用户名和date

我是Excel VBA的新手,我试图编写一些代码来实现以下function:当单元格在包含文本“123”或“xyz”的列A中单击时,单元格在同一行中,但列Blogging当前时间,同一行中但列C中的单元logging单击它的人员的用户名。

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

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上的一个variables未定义的错误,但是我觉得好像我的代码还有很多其他问题。

你不是太远。 我认为这应该工作得很好:

 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