Mam arkusz roboczy z kolumną na każdy miesiąc. Każda komórka jest aktualizowana za pomocą innych arkuszy, ale chcę, aby data była dodawana automatycznie do komórki, kiedy to nastąpi. Próbowałem to zrobić, ale zmienia to daty na takie same dla całej kolumny. Co mnie ominęło? Jak mogę to zmienić, aby zmienić tylko datę komórki, która zmienia się tego dnia. Na przykład w ciągu dziesięciu dni dziesiątki użytkowników aktualizują komórki w tej kolumnie. Nie chcę, żeby daty były takie same.
Oto czego użyłem?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim targetRng As Range
Dim rng As Range
Dim c As Integer
Set targetRng = Intersect(Application.ActiveSheet.Range("H:H"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("J:J"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("L:L"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("N:N"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("P:P"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("R:R"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("T:T"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("V:V"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("X:X"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("Z:Z"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("AB:AB"), Target)
Set targetRng = Intersect(Application.ActiveSheet.Range("AD:AD"), Target)
c = 1
If Not targetRng Is Nothing Then
Application.EnableEvents = False
For Each rng In targetRng
If Not VBA.IsEmpty(rng.Value) Then
rng.Offset(0, c).Value = Now
rng.Offset(0, c).NumberFormat = "m/dd/yyyy"
Else
rng.Offset(0, c).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub