Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA时间戳和用户名_Excel_Vba_Formula - Fatal编程技术网

Excel VBA时间戳和用户名

Excel VBA时间戳和用户名,excel,vba,formula,Excel,Vba,Formula,下面的代码在输入A列时检测数据,并自动将当前用户插入右侧的单元格。我还希望这段代码也添加一个时间戳。我需要记录用户名和时间。有什么建议吗 Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rCell As Range Dim rChange As Range On Error GoTo ErrHandler Set rChange = Intersect(Target, Range("A:

下面的代码在输入A列时检测数据,并自动将当前用户插入右侧的单元格。我还希望这段代码也添加一个时间戳。我需要记录用户名和时间。有什么建议吗

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    Dim rCell As Range
    Dim rChange As Range

    On Error GoTo ErrHandler
    Set rChange = Intersect(Target, Range("A:A"))
    If Not rChange Is Nothing Then
        Application.EnableEvents = False
        For Each rCell In rChange
            If rCell > "" Then
                With rCell.Offset(0, 1)
                    .Value = UserName()

                End With

            Else
                rCell.Offset(0, 1).Clear
            End If
        Next
    End If

ExitHandler:
    Set rCell = Nothing
    Set rChange = Nothing
    Application.EnableEvents = True
    Exit Sub
ErrHandler:
    MsgBox Err.Description
    Resume ExitHandler
End Sub

Public Function UserName()
    UserName = Environ$("UserName")
End Function

您可以使用类似于
日期和时间的内容。这将输出串联的日期和时间,如下所示:

17/07/2013 11:49:39 PM
以下是您的代码,其中日期/时间值添加到下一列中:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rCell As Range Dim rChange As Range

On Error GoTo ErrHandler
Set rChange = Intersect(Target, Range("A:A"))
If Not rChange Is Nothing Then
    Application.EnableEvents = False
    For Each rCell In rChange
        If rCell > "" Then
            rCell.Offset(0, 1).Value = UserName()   
            rCell.Offset(0, 2).Value = date() & " " & time()   <-- added line          
        Else
            rCell.Offset(0, 1).Clear
        End If
    Next
End If
Private子工作表\u更改(ByVal目标为Excel.Range)Dim rCell为Range Dim rChange为Range
关于错误转到错误处理程序
设置rChange=Intersect(目标、范围(“A:A”))
如果不是,那么改变什么都不是
Application.EnableEvents=False
对于rChange中的每个rCell
如果rCell>“”则
rCell.Offset(0,1).Value=UserName()

rCell.Offset(0,2).Value=date()&“&time()您可以使用类似于
date&&time
的内容。这将输出串联的日期和时间,如下所示:

17/07/2013 11:49:39 PM
以下是您的代码,其中日期/时间值添加到下一列中:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rCell As Range Dim rChange As Range

On Error GoTo ErrHandler
Set rChange = Intersect(Target, Range("A:A"))
If Not rChange Is Nothing Then
    Application.EnableEvents = False
    For Each rCell In rChange
        If rCell > "" Then
            rCell.Offset(0, 1).Value = UserName()   
            rCell.Offset(0, 2).Value = date() & " " & time()   <-- added line          
        Else
            rCell.Offset(0, 1).Clear
        End If
    Next
End If
Private子工作表\u更改(ByVal目标为Excel.Range)Dim rCell为Range Dim rChange为Range
关于错误转到错误处理程序
设置rChange=Intersect(目标、范围(“A:A”))
如果不是,那么改变什么都不是
Application.EnableEvents=False
对于rChange中的每个rCell
如果rCell>“”则
rCell.Offset(0,1).Value=UserName()

rCell.Offset(0,2).Value=date()&“&time()非常感谢!工作完美!快乐的日子!请标记为答案,这样问题就结束了:-)非常感谢!工作完美!快乐的日子!请标记为答案,这样问题就结束了:-)