- ベストアンサー
Excelで他のブックのセルを参照したいのですが
コンボボックスにセットする値を、 VBAで他のブックを参照してセットしたいと思っています。 ブックAのシート1にコンボボックスを作り、 ブックBのシート1から取得しようと考えています。 ブックBのシート1には、あらかじめ「範囲A」の名前を定義して この範囲の値を参照するつもりです。 ただ同じフォルダ内にブックBを置いていれば参照できるのですが、 他のフォルダにブックBを置くと参照されません。 <同じフォルダにブックBを置いた場合>○参照できた ComboBox1.ListFillRange = "[ブックB.xls]シート1!範囲A" <他のフォルダにブックBを置いた場合>×参照されない ComboBox1.ListFillRange = "C:\[ブックB.xls]シート1!範囲A" 記述の仕方がおかしいのでしょうか? 宜しければご教授お願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ブック名BookのSheet1のA3:A8に 11月2日 11月3日 11月4日 11月5日 11月6日 11月7日 とデータが有ります。 ーー Bookと違うブックBook1について Book1のSheet6にコンボぼっくすを1つ貼り付けました。 Book1の標準モジュールに Sub test01() Worksheets("Sheet6").ComboBox1.ListFillRange = "[Book.xls]Sheet1!A3:A8" End Sub をつくり実行しました。 ーー Book1のコンボボックスをクリックすると 11月2日から11月7日までアイテムとして出ました。 報告しておきます。 BOOKに当たるブックを同時に開いてやってみてください。
その他の回答 (1)
- zap35
- ベストアンサー率44% (1383/3079)
ComboBoxで実際に試したわけではなくて恐縮ですが、 ='C:\[ブックB.xls]シート1'!範囲A にしてもダメでしょうか?
お礼
回答ありがとうございます。 教えていただいた「'」シングルクォーテーションで囲む記述だと、 コンパイルエラーになってしまうようです。 「"」だとエラーは出ませんが、参照されないようですし。。
お礼
回答ありがとうございます。 BookをBook1と同じフォルダに入れていれば、 上記の記述で出来る事は確認出来ています。 ただBookをBook1と違うフォルダに置いているとうまくいかなくて。 これはBookを開いていても変わらないようです。 パス名の記述の仕方に問題があるのでしょうか。。