2014-08-31 62 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