質問: 他のbookに指定している外部参照先をセルの文字列で指定する方法 マクロを使わずに外部参照先を変更する方法を探しています。 例えば, c:\○○フォルダにa+1.xls,a+2.xls・・・a+10.xls という感じでa+x.xlsのxの部分が1~10までのファイルがあります。 それぞれのファイルのsheet1!a1に数値が入力されています。 開いているbookのセルc1に ='c:\○○[a+x.xls]sheet1!a1 みたいな感じで数式を入力して, セルb1にxの部分(1~10)を入力すると セルc1に入力した番号のファイルの sheet1!a1の数値を出力する方法はないでしょうか? マクロではできるのですが,マクロを使わずに実現したいです。
回答: excelの標準機能ではマクロを使わずにシートの記述中から別のブックを開くことはできません。 別のブックを指定して開くにはマクロ(vba)を使用する必要があります。 他のブックへのリンクがあるならば、 編集 → リンクの設定 →(開きたいブックを指定)→ リンク元を開く で選択して開くことができます。 質問の意図から外れますが、 どうしてもマクロを使用したくないのであれば、あらかじめ必要なブックを開いておいてはどうでしょう。 ブックが開いているのであれば、indirect関数で参照元を変更可能です。 あらかじめ必要なブックを開いておき、 ファイル → 作業状態の保存 これで開いているブックを記録したリンクを保存しますので、次回からはこのリンクを開くだけで 必要なブックを全て同時に開くことができます。