2017-03-02 26 views
1

Excelで非常に新しいです。 Excelに3つのシートがあります。古い値を貼り付けて1つのセルにコピーし、別のシートから新しい値を検索しようとしています。私の質問は、私はEDR IIのために」を使用してシートを参照EDRではなく、したい私はマッチが含まれている機能では、(私のルックアップのセクションを参照)例えば 式で他のシートを参照するにはどうすればよいExcel VBA絶対参照

  1. です'!

  2. どのように私は絶対的な基準を使用していますか? は例えば、私の代わりにC [4]のルックアップシートに列Gを見てみたいですか?

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