2014-08-31 57 views
0

我已经有两列的查找表。第1列是一个固定的项目列表,第2列中有一个公式。VBA查找值表复制公式

在另一个表,当有人在发言权单元格A1输入数据和它的项目在我的查找表的第1列匹配我需要从复制并粘贴到单元格B2塔2相应的公式。

大量的谷歌搜索试图找到VLOOKUP复制公式代替单元格值的方式没有返回任何内容,所以我认为唯一的方法是通过VBA?

+1

你要显示的公式或计算结果尽量'INDIRECT()' – JMax 2014-08-31 12:05:19

+0

我想计算公式 – Matt 2014-08-31 12:08:31

+0

的结果然后尝试使用'INDIRECT'结合'VLOOKUP'并告诉我们卡在哪里 – JMax 2014-08-31 12:24:30

回答

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的值和运行宏

EDIT#1:

这个版本将循环落笔列一个

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 
+0

然而,如果最后一个请求是完美的,我将如何循环它以在单元格B2,B3等中重复,只要在A2中有条目, A3等? – Matt 2014-08-31 12:22:19

+1

查看我的**编辑#1 ** – 2014-08-31 12:28:39

+0

对不起,最后一个...如果我想关闭设置开始,例如:而不是A1我想循环从A4开始,因为我有几行标题等?感谢您的帮助! – Matt 2014-08-31 12:40:58