Как использовать VBA для копирования ячейки и вставки в другую ячейку в качестве значений при изменении другой ячейки - PullRequest
0 голосов
/ 24 января 2019

У меня есть таблица, в которой столбец L будет изменен пользователем.Столбец M возвращает значение на основе vlookup из столбца L. Я ищу некоторый код VBA, который будет замечать каждый раз, когда изменяется любая ячейка в столбце L, затем копировать результат из Vlookup в столбец M и вставлять в качестве значений в столбец N..

Например: пользователь изменяет / добавляет значение в ячейку. L3 Ячейка M3 обновляется на основе vlookup с использованием L3. VBA копирует новое значение в M3. Вставляет как значения в N3

. Любая помощьвысоко ценится!

1 Ответ

0 голосов
/ 24 января 2019

Используйте событие Worksheet.Change с методом Application.Intersect , чтобы проверить, была ли изменена конкретная ячейка.

Используйте свойство Range.Offset для перемещения из измененной ячейки в другую ячейку, в которую вы хотите записать свое значение.

Private Sub Worksheet_Change(ByVal Target as Range) 
    Dim ChangedCells As Range
    Set ChangedCells = Intersect(Target, Target.Parent.Range("L:L")) 

    Dim Cell As Range

    If Not ChangedCells Is Nothing Then
        'ChangedCells contains all cells that changed and are in column L
        For Each Cell In ChangedCells 'loop through cells
            Cell.Offset(ColumnOffset:=1).Value = "aaa" 'offset moves from L to M
        Next Cell
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...