2017-03-02 69 views
1

Excel很新。我在Excel中有3張表格。我正嘗試將舊的值粘貼到一個單元格中,並從另一個表單中查找新值。我的問題是Excel VBA絕對參考

  1. 我如何引用另一片式(見我的查找部分) 例如,在包含匹配的功能,我想引用表EDR,而不是使用「支持EDR II 「!

  2. 如何使用絕對引用? 例如,我想查找查找表中的列G而不是C [4]?

非常新的Excel,所以我想以正確的方式學習它,並知道經驗法則。謝謝

Sub EDRII() 
    Dim EDR As Worksheet, Lookup As Worksheet, FA As Worksheet 
    Set EDR = ThisWorkbook.Worksheets("for edr II") 
    Set Lookup = ThisWorkbook.Worksheets("Lookup") 
    Set FA = ThisWorkbook.Worksheets("FA_Segment_Region") 

    'Copy & Paste Past Values 
    EDR.Range("B6:X10").Value = EDR.Range("B5:X9").Value 


    'Lookup Value from Lookup Tab 
    EDR.Range("C10").FormulaR1C1 = _ 
     "=INDEX(Lookup!C[4],MATCH('for edr II'!R[-8]C[-1],Lookup!C[3],0))" 
    EDR.Range("D10").FormulaR1C1 = _ 
     "=INDEX(Lookup!C[4],MATCH('for edr II'!R[-8]C[-2],Lookup!C[2],0))" 
End Sub 
+1

看看這個[**'link' **](http://www.exceltrick.com/formulas_macros/vlookup-in-vba/)。 – ManishChristian

+0

這是你想要做什麼? http://stackoverflow.com/a/42800024/4539709 – 0m3r

回答

0

要指定絕對範圍,請刪除方括號。如果公式引用自己的工作表,則根本不需要工作表名稱。

With EDR 
    .Range("C10").FormulaR1C1 = "=INDEX(Lookup!C7,MATCH('" & .Name & "'!R[-8]C[-1],Lookup!C[3],0))" 
    .Range("D10").FormulaR1C1 = "=INDEX(Lookup!C7,MATCH('" & .Name & "'!R[-8]C[-2],Lookup!C[2],0))" 
End With