我有一个表,其中用户将更改列L。 M列返回基于L列之外的vlookup的值。我正在寻找一些VBA代码,该代码会在L列中的任何单元格发生更改时均会注意到,然后从M列中的Vlookup复制结果并将其粘贴为N列中的值
例如: 用户将值更改/添加到单元格L3中 使用L3根据vlookup更新单元格M3 VBA在M3中复制新值 VBA作为值粘贴到N3中
任何帮助将不胜感激!
答案 0 :(得分:0)
使用Worksheet.Change Event和Application.Intersect method来检查特定单元格是否已更改。
使用Range.Offset property从更改后的单元格移动到要写入值的另一个单元格。
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