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 и т. Д. Пример ниже. каждый второй ряд

0 ответов

Другие вопросы по тегам