• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マイクロソフトのエクセルで困っています。)

マイクロソフトのエクセルで他のブックを参照する方法

このQ&Aのポイント
  • マイクロソフトのエクセルで他のブックを参照してセルの値を取得する方法について教えてください。
  • エクセル初心者で、ブックαからブックβの特定のセルの値を取得し、別のセルに代入したいです。
  • ファイルが増えても自動的に対応できる方法を教えていただけないでしょうか。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

幾つか出来る事と出来ないことをお話ししてみますので,用途と目的,ご自分のスキルに照らして良い方法を選んで行ってみてください。 出来ないこと:基本 通常ご質問の事では「INDIRECT関数」を使いますが,残念ながらINDIRECT関数では「閉じたブックへの参照」を取ってこさせる事が出来ません。 出来ることその1:基本 外部ブックが「開いてある」前提であれば,セルに目的のブック名とシート名,セル番地を記入してCONCATENATEしてINDIRECTで取りに行かせる事ができます。 出来ることその2:一番現実的に実現可能なのに,一般に一番人気がない 目的の外部ブックの必要なセル範囲に普通に外部リンクした式を,常に開いているブック(自ブックの別シート,あるいは他のブックとしてxlstartフォルダに入れたブックやアドイン)に埋めておき,そこからINDIRECTで取ってこさせるような方法でも出来ます。 出来ることその3:推奨 セルに記載したブックの保存場所,ブック名,シート名,セル番地の情報を元にマクロを使って「閉じたブックへの直接参照式」をセルの数式として記入させ,値を取らせて結果を得ることも出来ます。もっともこれであれば,目的のセルに直接その外部参照式を記入させるマクロにすれば簡単です。 出来ることその4:初級のマクロが書ける人なら極めて簡単 セルに記載したブックの保存場所,ブック名,シート名,セル番地の情報を元にマクロを使って一時的に目的のブックを開き,所定のシート・セルの値を取ってきて目的のセルに転記することも出来ます。 出来る事その5:「閉じたブック」につられて挑戦者が多いが難しい セルに記載したブックの保存場所,ブック名,シート名,セル番地の情報を元にマクロを使い,閉じたブックの値を取得する事も一応出来ます。が,あまり使い方に自由度が無いのでお奨めではありません。 http://officetanaka.net/excel/vba/tips/tips28.htm

sinnama
質問者

お礼

さっそくの回答ありがとうございました。 無事に取得することができました。 詳細に書いていただきありがとうございます。 参考HPのリンクありがとうございます、すごく役立っています!

その他の回答 (1)

  • mo2yakko
  • ベストアンサー率54% (30/55)
回答No.2

EXCEL2003ですが 関数のみという事でしたら、残念ながらなさそうです。 作成した文字列で参照するのはINDIRECTを使うのですが、 この関数は参照するファイルが開いていないとエラーになります。 VBAだと直接参照する計算式を作成するマクロを作成するでしょうか・・・ ざっくりですが ブックαは下記の入力がされていると仮定します (1)[A1]ファイルパス (2)[B1]ファイル名 (3)[C1]シート名 (4)[D1]セル位置 '直接参照する計算式を作成する Sub TEST  '処理するブックαのシートをアクティブにする。  Sheets("シート名").Select  '直接参照する計算式を作成する  For i = 0 to 9    Range("E1").Offset(i, 0) = "='" & Range("A1") & "[" & Range("B1") & "]" & Range("C1") & "'!" & Range("D1")  NEXT END Sub

sinnama
質問者

お礼

さっそくの回答ありがとうございました。 無事に取得することができました。 構文を書いていただきわかりやすかったです! ありがとうございます!