[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『外部ブックの参照について』(もも)
マクロに関して。
他のGクセルファイルのセルの表示したい時は、セルの中に以下を記入します。
='[【ファイル名】.xls]【シート名】'!$D$18
上の式で、読み込むファイルの名前を、他のセル(例えばC12)に書いて、
そのセルの文字列を読み込もうと考えて以下のように書いてみました。
='[(=C12).xls]【シート名】'!$D$18
しかし、思うようにできませんでした。
=の入れ子のような使い方を教えていただけないでしょうか?
こちら事務局です、内容が[マクロ]ではなく、[数式]なので、タイトルを変えました (kazu)
質問ボードの『同じ名前の別ファイルを参照したい』(さと) [[20030517224308]]での内容と同一のようですが、 仮にD12のセルに ="["&C12&".xls]Sheet1!$D$18" と記述すると [ファイル名.xls]Sheet1!$D$18 と表示され、別なセルに =HYPERLINK(D12,C12) と 指定するとハイパーリンクとなり、クリックすれば参照ファイルを開くことは できますが、開かずにデータを参照するのは、数式が文字列として表示されるだけです。 ファイル名やシート名を取得してのデータ参照はむずかしいようです。(すーさん)
例えば、C12 に、BOOK2 とかがはいっていれば、
=INDIRECT("[" & C12 & ".xls]Sheet1!A1")
です。 (通りすがりの者)
通すがりの者さんの数式を記述したのですが、#REF!となるのです。 なぜなのか分からず、いろいろ試しているうちに、 D12に ="["&C12&".xls]Sheet1!D18" とし、E12に =INDIRECT(D12) と 分けたところ、データが表示されました。 ところが、参照ブックを開いていれば「OK」なんですが、閉じると#REF!に なるという問題が残りました。 「'C:\フォルダ名\」のパスを D12に追加したり、別のセルに登録して D12のセルに&で 連結しても駄目なんです。 直接 ='C:\フォルダ名\[ブック名.xls]シート名'!D18 と記述すると、 閉じていても参照できるんです。 これ以上はどうしようもないのでしょうか?(すーさん)
私もこれでいいんじゃないかと思ったんですけど、 ヘルプを見るとこう書いてありますね(汗)。
>参照文字列で他のブックを参照している場合 (外部参照)、 >そのブックを開いておく必要があります。参照先のブックを開いていない場合、 >INDIRECT 関数は、エラー値 #REF! を返します。
ということで、開いていないとダメなようですね。
(ramrun)
そうです。この参照は、残念ながら開いていないと #REF になります。(通りすがりの者)
ももさん、ブックを開かなくてもデータを参照することができる関数に VLOOKUP というのがあるのですが、参照するデータの詳細がわからないと 使えるとは言い切れません。 VLOOKUP 関数は、指定した値で「参照ブックのシートの範囲指定した中の左端の列を 検索して一致データがあったとき、その行の何番目の列内容を表示させる」と いうものなのですが、これを利用できないでしょうか?(すーさん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.