Я хотел бы, чтобы при изменении данных в любом месте столбца помечали этот столбец последними данными, которые были изменены, и именем пользователя, который их изменил. (Извините, если на этот вопрос уже был дан ответ. У меня был быстрый поиск и я не могу его найти. Также довольно плохо знаком с макросами и VBA, или я, вероятно, смогу понять это сам.)

Изображение, показывающее настройку электронной таблицы Excel в ее текущем виде

Мне бы хотелось, чтобы отметка времени (могла быть просто датой) отображалась в строке 9, а имя пользователя - в строке 10.

Я нашел несколько макросов, которые делают это для записи изменений в столбце, и попытался изменить формулы, чтобы они работали для строки, но затем пусть каждый раз записывает дату под цифрой. Вот код, который я попробовал (на макете, а не на самом деле - я решил, что смогу изменить адрес позже, если смогу выяснить, как он работает):

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Row = 4 Or Target.Row = 5 Then
        Cells(Target.Cell, 3, 2).Value = Now
        Cells(Target.Cell, 2, 2).Value = Environ("Username")
    End If
End Sub

1 ответ1

1

Этот код VBA должен делать то, что вам нужно

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Row >= 1 And Target.Row <= 8 And Target.Column >= 4 Then

        Cells(9, Target.Column) = Now()
        Cells(10, Target.Column) = Application.UserName

    End If

End Sub

Вам нужно добавить этот код в сам лист. Нажмите DEVELOPER на ленте, затем нажмите Visual Basic . Откроется редактор VBA.

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

Любые изменения в строках с 1 по 8 после столбца C должны добавлять отметку даты и времени и текущее имя пользователя в строках 9 и 10.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .