Создать автоматическую отметку даты в Excel из записи - PullRequest
1 голос
/ 10 мая 2010

Я пытаюсь, чтобы в столбце B происходило событие с отметкой даты, когда в столбце A делается запись. Теперь я могу сделать это в VBA без проблем, проблема, с которой я сталкиваюсь, заключается в том, что есть запись, которая будет в конце концов, перейдите, скажем, в столбец D, и в столбце E также потребуется отметка даты. Это возможно. Вот пример кода, который я использовал до сих пор.

Private Sub Worksheet_Change (ByVal Target As Range) Для каждой ячейки в мишени Если Cell.Column <= 3, то If Cells (Cell.Row, 1) <> "" Тогда Cells (Cell.Row, 2) = сейчас End If Следующая ячейка End Sub

1 Ответ

1 голос
/ 10 мая 2010

Если у вас все в порядке с каждым нечетным столбцом, вводимым пользователем, и отметками времени, находящимися в четных столбцах (т. Е. Вы можете ввести в столбец A, а отметка времени перейдет в столбец B. Вы можете ввести столбец C и отметка времени будет указана в столбце D и т. д.), затем вы можете использовать это:

Private Sub Worksheet_Change(ByVal Target As Range)

    'Only write a timestamp of an odd column changes (because the timestamps go in the even columns)
    If Target.Column Mod 2 > 0 Then

        'Get the first part of the address, to get the actual column being changed
        Dim columnAddress As String
        columnAddress = Target.Address

        If InStr(columnAddress, ":") > 0 Then
            columnAddress = Left(columnAddress, InStr(columnAddress, ":") - 1)
        End If

    'This will cause the TimeStamp to be undeletable (kind of like na Audit).
    'If you want the timestamp to disappear when you clear the column, uncomment the next few lines:

    '        If Not ActiveSheet.Range(columnAddress).Formula = "" Then

            ''Write the timestamp for the previous column
            ActiveSheet.Range(columnAddress).Offset(0, 1).Formula = Now

    '        Else
    '            ActiveSheet.Range(columnAddress).Offset(0, 1).Formula = ""
    '        End If
    End If


End Sub

Вы можете скрыть столбцы там, где вам не нужна отметка времени для отображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...