• ベストアンサー

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" 記述の仕方がおかしいのでしょうか? 宜しければご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.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に当たるブックを同時に開いてやってみてください。

to-na
質問者

お礼

回答ありがとうございます。 BookをBook1と同じフォルダに入れていれば、 上記の記述で出来る事は確認出来ています。 ただBookをBook1と違うフォルダに置いているとうまくいかなくて。 これはBookを開いていても変わらないようです。 パス名の記述の仕方に問題があるのでしょうか。。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

ComboBoxで実際に試したわけではなくて恐縮ですが、  ='C:\[ブックB.xls]シート1'!範囲A にしてもダメでしょうか?

to-na
質問者

お礼

回答ありがとうございます。 教えていただいた「'」シングルクォーテーションで囲む記述だと、 コンパイルエラーになってしまうようです。 「"」だとエラーは出ませんが、参照されないようですし。。

関連するQ&A