我有一个两列查找表。第1列是固定的项目清单,第2列有一个公式。
在另一个表中,当有人在说单元格a1中输入数据并且它与我的查找表的第1列中的项目匹配时,我需要将第2列中的相应公式复制并粘贴到单元格b2中。
很多谷歌搜索试图找到一种方法让VLOOKUP复制公式代替单元格值没有返回任何内容所以我认为唯一的方法是通过VBA吗?
答案 0 :(得分:2)
这个小样本假设数据在列 C 和 D:
中Sub Matt()
Dim r As Range, Tabl As Range
Set Tabl = Range("C1:C1000")
Set r = Tabl.Find(What:=Range("A1").Value, After:=Tabl(1))
Range("B1").Formula = r.Offset(0, 1).Formula
End Sub
在 A1 中放置一个值并运行宏
修改#1:强>
此版本将循环播放列 A
Sub Matt_The_Sequel()
Dim r As Range, Tabl As Range, N As Long
Set Tabl = Range("C1:C1000")
N = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To N
Set r = Tabl.Find(What:=Range("A" & i).Value, After:=Tabl(1))
Range("B" & i).Formula = r.Offset(0, 1).Formula
Next i
End Sub
修改#2:强>
Sub Matt_The_Sequel2()
Dim r As Range, Tabl As Range, N As Long
Dim First_Row As Long
Set Tabl = Range("C1:C1000")
N = Cells(Rows.Count, "A").End(xlUp).Row
First_Row = 4
For i = First_Row To N
Set r = Tabl.Find(What:=Range("A" & i).Value, After:=Tabl(1))
Range("B" & i).Formula = r.Offset(0, 1).Formula
Next i
End Sub