• ベストアンサー

Excelでファイルを越えて連携できるのでしょうか

Excel2010なのですが、同じファイルであればシートをまたいであるセルを参照出来ますが、 別ファイルの、あるシートのあるセルを参照するというような事は出来ないのでしょうか? ほんの初歩的なマクロは学んだのですが、そういうファイルをまたいでの設定は無かったように思いますが、マクロとか使えば出来るのでしょうか? 例えばプログラミングなどであるinclude()などあればファイルを参照出来るのでしょうが。

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

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

エクセルの数式では, ='c\test\[book1.xls]Sheet1'!A1 といった数式で多ブックの値を参照し計算に利用できます 参照元ブックを開いておいて =[book1.xls]sheet1!A1 のように数式を作成し,参照元ブックを保存して閉じると,自動で閉じたブックを参照する式に書き換わります。エクセルの操作になれていないときは,こちらの手順を行った方が間違いがありません。 マクロでは別のブックを「開いて参照する」のが原則です。 sub macro1()  dim w as workbook  set w = workbooks.open("c:\test\book1.xls")  msgbox w.worksheets("シート名").range("セル番地")  w.close false end sub 開きたくないご相談はしばしば見かけますが,労多くして功少ないの典型と言えます。 方法1:開いているところを見せない sub macro2()  dim w as workbook  dim x  application.screenupdating = false  application.calculation = xlcalculationmanual  set w = workbooks.open("c:\test\book1.xls")  x = w.worksheets("Sheet1").range("A1")  w.close false  application.calculation = xlcalculationautomatic  application.screenupdating = true  msgbox x end sub 方法2:エクセルに閉じたブックの値を取ってこさせる sub macro3()  dim x  range("A1").formula = "='C\test\[book1.xls]Sheet1'!A1"  x = range("A1").value  range("A1").clearcontents  msgbox x end sub 方法3:4.0マクロ関数を使う 色々制約があるのでお薦めしませんが,下記など参考に。 http://www.moug.net/tech/exvba/0060037.html

その他の回答 (2)

回答No.2

マクロ(VBA)の話しで良いですか?(^^) Excel は 別のファイル(ブック)が開いてあれば、参照する事が出来ます。 例えば、ブックA に書いてあるマクロ(VBA)から ブックB の シート1 を参照するなら、 ブックA上で  Workbooks.Open("ブックB")  Workbooks("ブックB").Worksheets("シート1") ~ という使い方が出来ます。 当然、終了時は ブックA と同時に ブックB も閉じる必要があります。

  • taranko
  • ベストアンサー率21% (516/2403)
回答No.1

参照したいエクセルを開き、参照元のセルに=(イコール)を入れ 参照したいエクセルの参照したいセルを選択してエンターを押せばできます。 ※作業は基本的に同じエクセルの参照と同じで別ファイルを選択するだけです。 参照したエクセルを開いている時はエクセルのファイル名から表示され =[AAA.xls]Sheet1'!$A$1 参照したエクセル閉じた時はエクセルのファイルの場所から表示されます ='C:¥▲▲▲¥×××¥□□□¥[AAA.xls]Sheet1'!$A$1