Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Лог изменений VBA
 
Всем привет!

Есть лог изменений, который фиксирует все изменения на листе "Tab"
Все вроде бы ничего, но:
1) Если в клетке было значение, в логе не указывается с какого на какое это значение было изменено
2) Если в клетке значение поменялось на идентичное, лог все равно фиксирует это как изменение, хотя не должен
Файл-пример прикладываю
Код:

Код
Dim PreVal
Private Sub Worksheet_Change_1(ByVal Target As Range)
PreVal = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value <> PreVal ThenSheets("Log").Cells(65000, 1).End(xlUp).Offset(1, 0).Value = Application.UserName & " changed cell " & Target.Address & " from " & PreVal & " to " & Target.Value
Sheets("Log").Cells(65000, 2).End(xlUp).Offset(1, 0).Value = Now
End If
End Sub




Спасибо!

Изменено: CainV - 27 Мар 2020 11:00:39
 
Здравствуйте, попробуйте такой код:
Код
Public PreVal
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
PreVal = Target.Value
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value <> PreVal Then
Sheets("Log").Cells(65000, 1).End(xlUp).Offset(1, 0).Value = Application.UserName & " changed cell " & Target.Address & " from " & PreVal & " to " & Target.Value
End If
End Sub
Изменено: Настя_Nastya - 27 Мар 2020 11:44:52
 
Настя_Nastya, Спасибо!!!
Страницы: 1
Читают тему (гостей: 1)
Наверх