Описываю свою проблему :
мне дали макрос, который ведёт лог всех действий в книге ,выглядит так :
Option Explicit
Public sValue As String
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "LOG" Then Exit Sub
Dim sLastValue As String
Dim lLastRow As Long
With Sheets("LOG")
lLastRow = .Cells.SpecialCells(xlLastCell).Row + 1
If lLastRow = Rows.Count Then Exit Sub
Application.ScreenUpdating = False: Application.EnableEvents = False
.Cells(lLastRow, 1) = CreateObject("wscript.network").UserName
.Cells(lLastRow, 2) = Target.Address(0, 0)
.Cells(lLastRow, 3) = Format(Now, "dd.mm.yyyy HH:MM:SS")
.Cells(lLastRow, 4) = Sh.Name
.Cells(lLastRow, 5) = sValue
If Target.Count > 1 Then
Dim rCell As Range
For Each rCell In Intersect(Target, Sh.UsedRange)
If Not IsError(Target) Then sLastValue = sLastValue & "," & rCell Else sLastValue = sLastValue & "," & "Err"
Next rCell
sLastValue = Mid(sLastValue, 2)
Else
If Not IsError(Target) Then sLastValue = Target.Value Else sLastValue = "Err"
End If
.Cells(lLastRow, 6) = sLastValue
End With
Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "LOG" Then Exit Sub
If Target.Count > 1 Then
Dim rCell As Range
For Each rCell In Intersect(Target, Sh.UsedRange)
If Not IsError(rCell) Then sValue = sValue & "," & rCell Else sValue = sValue & "," & "Err"
Next rCell
sValue = Mid(sValue, 2)
Else
If Not IsError(Target) Then sValue = Target.Value Else sValue = "Err"
End If
End Sub
Получается в первом столбце он выводит имя учетной записи того пользователя, который сделал изменения где-то. Но сейчас у меня имя учетной записи введено "Максим" и он его ипоказывает ,но мне необходимо его поменять и я зашел в Windows XP - Пуск - Настройка - Панель управления - Учетные записи пользователей и там сменил имя было написано "Максим" а я сменил его на другое имя, но почему-то в excel макрос все равно выдавал старое имя "Максим"....
Может я что-то не там поменял ???
подскажите пожалуйста где что нужно изменить, чтобы было правильно....
мне дали макрос, который ведёт лог всех действий в книге ,выглядит так :
Option Explicit
Public sValue As String
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "LOG" Then Exit Sub
Dim sLastValue As String
Dim lLastRow As Long
With Sheets("LOG")
lLastRow = .Cells.SpecialCells(xlLastCell).Row + 1
If lLastRow = Rows.Count Then Exit Sub
Application.ScreenUpdating = False: Application.EnableEvents = False
.Cells(lLastRow, 1) = CreateObject("wscript.network").UserName
.Cells(lLastRow, 2) = Target.Address(0, 0)
.Cells(lLastRow, 3) = Format(Now, "dd.mm.yyyy HH:MM:SS")
.Cells(lLastRow, 4) = Sh.Name
.Cells(lLastRow, 5) = sValue
If Target.Count > 1 Then
Dim rCell As Range
For Each rCell In Intersect(Target, Sh.UsedRange)
If Not IsError(Target) Then sLastValue = sLastValue & "," & rCell Else sLastValue = sLastValue & "," & "Err"
Next rCell
sLastValue = Mid(sLastValue, 2)
Else
If Not IsError(Target) Then sLastValue = Target.Value Else sLastValue = "Err"
End If
.Cells(lLastRow, 6) = sLastValue
End With
Application.ScreenUpdating = True: Application.EnableEvents = True
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Sh.Name = "LOG" Then Exit Sub
If Target.Count > 1 Then
Dim rCell As Range
For Each rCell In Intersect(Target, Sh.UsedRange)
If Not IsError(rCell) Then sValue = sValue & "," & rCell Else sValue = sValue & "," & "Err"
Next rCell
sValue = Mid(sValue, 2)
Else
If Not IsError(Target) Then sValue = Target.Value Else sValue = "Err"
End If
End Sub
Получается в первом столбце он выводит имя учетной записи того пользователя, который сделал изменения где-то. Но сейчас у меня имя учетной записи введено "Максим" и он его ипоказывает ,но мне необходимо его поменять и я зашел в Windows XP - Пуск - Настройка - Панель управления - Учетные записи пользователей и там сменил имя было написано "Максим" а я сменил его на другое имя, но почему-то в excel макрос все равно выдавал старое имя "Максим"....
Может я что-то не там поменял ???
подскажите пожалуйста где что нужно изменить, чтобы было правильно....