VBA查表中的值和复制公式

我有一个两列查找表。 第1列是固定的项目列表,第2列中有一个公式。

在另一个表中,当有人在单元格a1中input数据,并且它与我的查找表的第1列中的项目相匹配时,我需要将第2列中的相应公式复制并粘贴到单元格b2中。

很多谷歌search试图find一种方法VLOOKUP复制公式代替单元格值没有返回任何东西,所以我认为唯一的方法是通过VBA?

这个小样本假定数据在列CD中:

 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中放置一个值并运行macros

编辑#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