[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロで他ブック内のテーブルをVLOOKUPしたい』(らいつい)
いつも参考にさせていただいています。また助けてください。
マクロ内でvlookupを使っています。
参照先のデータの件数が流動的なので、動かすたびに範囲の行数を書き直していました。
同様の箇所が複数あり、さすがにめんどくさくなってきたので、参照先のシートをテーブルにしたいと思っています。
本体のシートの
AにはBを「サンプル.xlsx!情報テーブル」(同一フォルダ別ブック)から
CにはDを「a_list」(同一ブック)から
をそれぞれ参照しています。
「a_list」、および「情報テーブル」をテーブルに設定し、コードを下のように書き直しました。
(コメントになっているのが修正前です)
同一ブック内(a_list)はうまくいきましたが、別ブック(情報テーブル)ではエラーになってしまいます。
パスの有無や、[]やシングルコーテーションの使い方などに問題がありますか?
どうかご教授お願いいたします。
====以下コード抜粋====
'//最終行を求める
Dim End_Row As Long
End_Row = Range("A1").End(xlDown).Row
'//テーブルから情報取得
Dim i As Long
For i = 1 To End_Row
Range("A" & i).Formula = "=VLOOKUP(B" & i & ",'C:\TEST\サンプル.xlsx'情報テーブル[[情報1]:[情報5]],3,FALSE)" '//うまくいかない Range("C" & i).Formula = "=VLOOKUP(D" & i & ",a_list[[項目1]:[項目3]]?,2,FALSE)" '//うまくいく
'//Range("A" & i).Formula = "=VLOOKUP(B" & i & ",[サンプル.xlsx]情報テーブル!$A$1:$E$88,3,FALSE)" '//Range("C" & i).Formula = "=VLOOKUP(D" & i & ",a_list!$A$1:$C$50,2,FALSE)"
Next i
< 使用 Excel:Excel2010、使用 OS:Windows7 >
(誤) [項目3]]?,2,FALSE)" → (正) [項目3]],2,FALSE)"
(らいつい) 2014/09/20(土) 16:37
実際にセルには
=VLOOKUP(B1,'C:\TEST\サンプル.xlsx'情報テーブル[[情報1]:[情報5]]?,3,FALSE)
と入力し、望んだ結果が得られています。
それを
"=VLOOKUP(B" & i & ",'C:\TEST\サンプル.xlsx'情報テーブル[[情報1]:[情報5]]?,3,FALSE)"
↑このようにマクロ内に記述するとエラーになりました。
(ら) 2014/09/23(火) 21:30
>=VLOOKUP(B1,'C:\TEST\サンプル.xlsx'情報テーブル[[情報1]:[情報5]],3,FALSE) >と入力し、望んだ結果が得られています。
情報テーブルの前に「!」マークが無くても大丈夫だったんですか?
(半平太) 2014/09/23(火) 23:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.