Excel 记录在范围列中编辑的用户
此VBA脚本在A列中记录修改B列的用户Excel 记录在范围列中编辑的用户,excel,vba,Excel,Vba,此VBA脚本在A列中记录修改B列的用户 Private Sub Worksheet_Change(ByVal Target As Excel.Range) 'Updated by Extendoffice 2017/10/12 Dim xRg As Range, xCell As Range On Error Resume Next If (Target.Count = 1) Then If (Not Application.Intersect(Targe
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updated by Extendoffice 2017/10/12
Dim xRg As Range, xCell As Range
On Error Resume Next
If (Target.Count = 1) Then
If (Not Application.Intersect(Target, Me.Range("B:B")) Is Nothing) Then _
Target.Offset(0, -1) = Application.UserName
Application.EnableEvents = False
Set xRg = Application.Intersect(Target.Dependents, Me.Range("B:B"))
If (Not xRg Is Nothing) Then
For Each xCell In xRg
xCell.Offset(0, -1) = Application.UserName
Next
End If
Application.EnableEvents = True
End If
End Sub
我需要一个脚本:在a列中写入在列范围B:S中编辑的pc用户的姓名,因此您希望用户名写入列
a
,在行中,在列B
中对S
进行任何更改,对吗?
比如:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Count = 1) And Not Application.Intersect(Target, Range("B:S")) Is Nothing Then
Cells(Target.Row, 1) = Application.UserName
End If
End Sub
因此,您希望将用户名写入列
A
,行中的B
列对S
进行任何更改,对吗?
比如:
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Count = 1) And Not Application.Intersect(Target, Range("B:S")) Is Nothing Then
Cells(Target.Row, 1) = Application.UserName
End If
End Sub
我有一个问题。如果列A被锁定,则在B:S定义的范围内编辑单元格时,我会查看错误VBA。你有什么办法来解决这个问题吗?或者你用
ActiveSheet解锁单元格。在写入之前取消保护
,或者–如果你想锁定单元格并且没有写入任何内容–只需将该放在错误恢复下一步
中以隐藏错误。我有一个问题。如果列A被锁定,则在B:S定义的范围内编辑单元格时,我会查看错误VBA。你有什么办法解决这个问题吗?或者在写入之前用ActiveSheet解锁单元格。取消保护
,或者–如果你希望它被锁定并且没有写入任何内容–只需将该放在错误恢复下一步
中以隐藏错误。