65272


Excel VBAで、VLOOKUPを使って、他のファイルを参照する場合、①なら動きますが、②では上手く動きません。  
②のような書き方は出来ないのでしょうか？

[code]

    Sub Supply_Check()
    
        Dim LastRow As Long
        LastRow = Cells(1, 3).End(xlDown).Row
    
    ①    Range(Cells(2, 8), Cells(LastRow, 8)).Formula = "=VLOOKUP(RC[-5],'C:\Users\user1\Documents\[支給部品.xlsx]Sheet1'!RC[-7]:R[18]C[-4],2,FALSE)"
    
    ②    Dim File_Path As String
        File_Path = "C:\Users\user1\Documents\[支給部品.xlsx]Sheet1"
        Range(Cells(2, 8), Cells(LastRow, 8)).Formula = "=VLOOKUP(RC[-5],File_Path!RC[-7]:R[18]C[-4],2,FALSE)"
    
    End Sub
    
[/code]


CC BY-SA 4.0
2020-03-31T11:46:58.257
65256
2020-04-01T04:27:20.873
15090
question
vba excel
Excel VBA のVLOOKUPで、他のファイル参照


`File_Path`という変数が文字列としてくくられているため、  
`File_Path = "C:\Users\user1\Documents\[支給部品.xlsx]Sheet1"`が認識されていないと  
思います。(File_Pathという文字そのままになっている)

テストしてみたところ、下記なら動きそうですが、いかがでしょうか。

[code]

    Range(Cells(2, 8), Cells(LastRow, 8)).Formula = "=VLOOKUP(RC[-5],'" & File_Path & "'!RC[-7]:R[18]C[-4],2,FALSE)"
    
[/code]


CC BY-SA 4.0
2020-04-01T04:27:20.873
65272
2020-04-01T04:27:20.873
32032
65256
answer