人生のプチ美学を教えてください!!

フォルダ内のエクセルファイルを開かずにデータ採取できないか?

条件
 サブフォルダのフォルダ名いろいろある(年-月【ちょめちょめ】)
 エクセルファイル名は、すべて同じ名前
 検出するセル座標は、どのファイルも同じセル番地


サブフォルダ名をエクセルに並べるVBAは作りました
サブフォルダ名を使ってリンク式を組み立てるのですが、
ファイルを開いてリンクさせたときと同じ表示ができない
  
   A        B       C          D      E F    
1 アドレス     フォルダ名   サブフォルダ名      エクセルファイル名   Sheet名  セル番地
2 C:デスクトップ  test     2202-02【大人】  教えて.xlsm  Sheet2    P6

C列のサブフォルダ名だけが異なる名前で複数作られる
ほかのA/B/D/E/F列はすべて同じ名前

リンク元のエクセルファイルを開いてリンク作成
=’C:デスクトップ¥test¥2202-02【大人】\[教えて.xlsm]Sheet2'!P6
これで表示されるのは、「2022/12/16」 が表示される

これをセル番地式で作りたい
=”’”&A2&"\"&B2&"\"&C2&"\["&D2&"]"&E2&"'!"&F2
この式をセルに入力するが、表示されるのは、
C:デスクトップ¥test¥2202-02【大人】\[教えて.xlsm]Sheet2'!P6
が表示される
ほしい表示は、「2022/12/16」がほしい

間違いがわかりません
ほかの方法があれば教えてください
VBAで作るしかないでしょうか?

A 回答 (2件)

>=”’”&A2&"\"&B2&"\"&C2&"\["&D2&"]"&E2&"'!"&F2



INDIRECT関数を使えば参照式にすることは可能かと思いますが、INDIRECT関数は参照元が開いてないと使えないので結局はVBA対応になるかと思います。
    • good
    • 0

>間違いがわかりません


=”’”&A2&"\"&B2&"\"&C2&"\["&D2&"]"&E2&"'!"&F2
この解は文字列です

>ほかの方法があれば教えてください
文字列を数式にする組み込み関数は無かったと思います

>VBAで作るしかないでしょうか?
はい
VBAでユーザー定義関数を作れば解決します
Evaluateメソッドを使えば、簡単に出来ると思います
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています