Excel DateStamp/TimeStamp - при изменении - в строке ниже / выше
Я искал честный ответ, чтобы найти ответ, но я нахожу только те макросы, которые ставят штамп на стороне вместо того, чтобы делать это ниже / выше.
Буду признателен за помощь в этом отделе.
Excel вопрос:
Я хотел бы изменить данные [допустим, в строке A1:ZZ1], а DateStamp появится в строке ниже [A2:ZZ2].
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("A1:ZZ1,A3:ZZ3,A5:ZZ5,A7:ZZ7"), 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(c, 0).Value = Now
rng.Offset(c, 0).NumberFormat = "dd/mm/yyyy"
Else
rng.Offset(c, 0).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
После закрытия и открытия файла микро может не работать. Таким образом, макросы должны быть включены из приглашения или следуют комментариям PEH ниже, чтобы включить его постоянно.
Также линии:
rng.Offset(c, 0).Value = Now
rng.Offset(c, 0).NumberFormat = "dd/mm/yyyy"
можно заменить на
rng.Offset(c, 0).Value = Date
rng.Offset(c, 0).NumberFormat = "dd/mm/yyyy"
Если нужна только дата
Если кто-то может помочь мне переписать этот макрос, то макрос будет отслеживать изменения только в каждой 2-й строке - и вводить TimeStamp в каждую вторую строку ниже: таким образом, отслеживаемые строки: 1:1, 3:3 и т. Д. Строки DateStamp: 2:2, 4:4 и т. Д. Пример ниже. каждый второй ряд