Option ExplicitТози код ще "слухти" за промяна в колона А (А:А) и при всяка такава, ще слага днешна дата в съседната колона. За да стане по-ясно, можеш да смениш формата на клетките в колона B на примерно
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Target.Value = vbNullString Then
Target.Offset(, 1).Value = vbNullString
Else
Target.Offset(, 1).Value = Now
End If
End If
End Sub
Сложих нарочно интервали между часа, минутите и секундите, в действителност е без, форума го отчита като емотикони.
Горния код проверява също така дали си изтрила клетката в колона А и съответно чисти датата вдясно. Ако искаш и триенето на съдържание на клетка да се отчита като промяна, проверката за празна стойност в колона А се маха:
Option ExplicitПри промяна в коя да е колона, различна от A, кода няма да прави нищо.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.CountLarge > 1 Then Exit Sub
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(, 1).Value = Now
End If
End Sub
Внимавай къде пускаш кода. Ако го пуснеш в друг лист, ще работи там, а не в този, който искаш, а ако е в ThisWorkbook, практически няма да работи.