• ベストアンサー

エクセル関数>参照ファイル名をセルから呼び出す

別ファイル(ブック)のセルを表示させたいのですが、例えば =[あいうえお.xls]かきくけこ!$A$5 とせずに、 ファイル名は A1セル の文字列を充てる、というようなことは出来ないでしょうか? 関数が分からない人でも、簡単に参照したいファイル名を変えられるようにしたいのです。 よろしくお願い致します。

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

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

A1に「あいうえお.xls」があるとき  =INDIRECT("[" & A1 & "]かきくけこ!$A$5") でよいでしょう。 ただし「あいうえお.xls」が開いている必要があります。(#REF!エラーになるため) A1に入力されたブック名が開いていないなら、ブックを開くようにするのであればマクロが必要です。ブック名を入力しているのがSheet1だとしたら以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて保存して下さい。 するとINDIRECT関数を入力したブックを開くときに、A1セルのブックも開くようになります。ただし下から3行目のファイルパスは修正が必要です。 Sub Auto_open() Dim wb, mybk As Workbook Set mybk = ThisWorkbook For Each wb In Workbooks   If wb.Name = Sheets("Sheet1").Range("A1").Value Then     Exit Sub   End If Next wb Workbooks.Open "C:\Temp\" & Sheets("Sheet1").Range("A1").Value mybk.Activate End Sub

sohomono
質問者

お礼

「ブック名が開いていないなら」と、「先」の回答までいただきありがとうございます。 助かりました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.3

こんにちは。 下記のコードはA1のセルが変更されたらA1のファイル名でC:\tmpの中にそのファイルが存在したら、そのブックのA1の値を参照します。 参考にしてそちらの仕様に変更してください。 Private Sub Worksheet_Change(ByVal Target As Range) Dim MD As String, MF As String If Target.Address = "$A$1" Then MD = "c:\tmp\" MF = Range("A1").Value & ".xls" If Dir(MD & MF) <> "" Then F = "'" & MD & "[" & MF & "]Sheet1'!R1C1" Range("A5").Value = Application.ExecuteExcel4Macro(F) Else MsgBox "セルA1のファイルが存在しません " End If End If End Sub

sohomono
質問者

お礼

ご教授ありがとうございます。

すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

A1="[あいうえお.xls]" B1=INDIRECT(A1&"かきくけこ!$A$5")

sohomono
質問者

お礼

早速ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A

このQ&Aのポイント
  • レノボのパソコンが起動できない場合、自動修復できないメッセージが表示されることがあります。原因としては、ノートパソコンを閉じている間に書類を挟んだことが考えられます。再起動しても同じ現象が繰り返される場合でも、大切なデータを取り出す方法があります。
  • まず、起動できない状態からデータを取り出す方法としては、エクストラクタボードを使用する方法があります。エクストラクタボードとは、ハードディスクを外部から接続し、データをコピーするための装置です。この方法であれば、パソコンが起動しなくてもデータを取り出すことができます。
  • また、起動不能の原因としては、OSの問題も考えられます。Windows 10を使用している場合は、Windowsの修復ディスクを使用して問題を解決することができます。修復ディスクを使用するには、別のパソコンで作成する必要がありますが、作成方法は簡単です。作成した修復ディスクを使用して起動不能のパソコンを修復することができます。
回答を見る

専門家に質問してみよう