=CELL("filename")で取得したファイル名をHYPERLINK関数で使いたい

このQ&Aのポイント
  • =CELL("filename")で取得したファイル名をHYPERLINK関数で使いたい。エクセルで「目次」というファイルを作り、そこからHYPERLINK関数で別のファイルにリンクを貼りたいと思っています。
  • 万が一ファイルの場所が移動した場合にも、リンクが切れないように、=CELL("filename")で取得したブック名をHYPERLINK関数で使ったらどうかと思うのですが、うまくできません。
  • 考えた方法は、(1)ファイル名(テスト1)sheet1のA1のセルに=CELL("filename")と入力したものをコピーして、ファイル名(目次)sheet1のA1にリンク貼り付けする。(2)(1)で表示された(目次)sheet1のA1のファイル名をHYPERLINK関数の中に使って、リンクを貼れるようにする。
回答を見る
  • ベストアンサー

=CELL("filename")で取得したファイル名をHYPERLI

=CELL("filename")で取得したファイル名をHYPERLINK関数で使いたい。 エクセルで「目次」というファイルを作り、そこからHYPERLINK関数で別のファイルにリンクを貼りたいと思っています。 万が一ファイルの場所が移動した場合にも、リンクが切れないように、=CELL("filename")で取得したブック名をHYPERLINK関数で使ったらどうかと思うのですが、うまくできません。 考えた方法は、 (1)ファイル名(テスト1)sheet1のA1のセルに=CELL("filename")と入力したものをコピーして、ファイル名(目次)sheet1のA1にリンク貼り付けする。 (2)(1)で表示された(目次)sheet1のA1のファイル名をHYPERLINK関数の中に使って、リンクを貼れるようにする。 としたいのですがどのように書けばいいのでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

CEll("filename",リンク先のセル)は対象のファイルが開いていないと有効に働かないようですね。 リンク切れに対処できるように、[Ctrl]+[K]のハイパーリンクでは駄目でしょうか? (セルまで指定したいなら C:\Book1.xls#Sheet2!B6、 リンク切れに 編集 - リンクの設定)

necoxx11
質問者

お礼

ありがとうございます。 テスト1のファイルが移動した場合にも、リンクが切れないようにしたいのです。 この方法だとファイルが開いていないと、うまくできないことがわかったので質問の方法を換えてみたいと思います。 回答ありがとうございました。

関連するQ&A

  • HYPERLINK関数でファイル名が取得できなくて困ってます

    お世話になります 野暮用でHYPERLINK関数を使おうと思い =HYPERLINK(ADDRESS(5,2,4,TRUE,"sheet1"),"B5") としてみたのですが、 「指定したファイルを開くことが出来ません」と 怒られてしまいました とほほ そこでこちらのサイトの過去の履歴を調べてみたところ http://oshiete.coneco.net/qa515869.html でtbobi様の発言を見つけました この内容を要約するとExcel2007の場合 =HYPERLINK("[Book1.xlsx]"&ADDRESS(5,2,4,TRUE,"sheet1"),"B5") とすると良いとのことで 実際にリンクが確立することも確認できたのですが このファイル名記載… くせ者です テキスト形式での記載ですので 恐らくブック名を変更しても追随しないと思われます 此は頂けません 余りに保守性が低くなりすぎます 何とか今開いているブックのファイル名を 関数で取得する方法はないものでしょうか? 出来ればビジネスシーンで標準的に使えるもので出来ると助かります。 もしくは何か良い代案はないでしょうか? 困ってます どうぞ御指南宜しくお願い致します。

  • 別ファイルのシート名表示

    教えてください。 シート名表示ですが、開いているファイル(製造データ1.xls)の シート名表示 =MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,31) にて可能ですが、別ファイル(製造データ2.xls)のシート名を関数にて表示させる方法を教えてください。 製造データ1.xlsのA1セルに表示させたいのですが・・・ (製造データ2.xlsのシートは1つのみです) 製造データ1と製造データ2は同一フォルダに格納されてます。 よろしくお願いします。

  • エクセル2000のCELL関数

    便宜上、シートの左上にタイトルのようなものを表示させたくて、セルA1に =CELL("filename") という関数を入力しました。 まず最初に1つのシートにこの関数を入力して、あとはそのシートをコピーして使っているのですが、複数のシートのうちの1つのシート名を変更すると、なぜか全てのシート名が同じように変更されてしまいます。 アクティブシート以外のシート名を変更しないようにするにはどうしたらいいでしょうか。

  • 【Excel】指定されたファイルを開くことができま

    下記数式でリンクを設定(同ブック&別シート)した場合、移動できるファイルと「指定されたファイルを開くことができません」が表示され移動できないファイルがあります。 ファイル形式はどちらもxlsxです。現状は名前の定義にて対応しています。 =HYPERLINK(CELL("address",Sheet2!A1),"Sheet2へ移動") 両ファイルの違いと言えば、セルを右クリックした時に「リンク(I)」「ハイパーリンクを開く(O)」が表示されるか否か、です。 =HYPERLINK("#'Sheet2'!A1","Sheet2へ移動")でしたら移動しますが、この数式では移動先シートでセル位置が変わった場合に数式が変更されないのでCELL&addressでリンクを設定したいのです。 移動できないファイルは元々のファイル形式がxlsだったのが原因かと思いましたが、新規xlsxファイルにデータを貼り付け直しても移動できません。 セルそのものにリンクは貼ってありません。 ファイル名にカッコ()があるとダメというような書き込みを見た記憶がありましたが、カッコはありません。 「指定されたファイルを開くことができません」の原因は何でしょうか?

  • マクロにてHYPERLINKのアドレスの取得方法を教えてください。

    マクロにてHYPERLINKのアドレスの取得方法を教えてください。 HYPERLINK関数を駆使してリンクを作っています。 =HYPERLINK(CELL("address",INDEX([○○○.xls]△△△シート!$1:$65536,MATCH("文字列",[○○○.xls]△△△シート!$B:$B,),MATCH("文字列",[○○○.xls]△△△シート!4:4,))),表示文字) という感じで別Excelファイルの行と列をMATCH関数を使いアドレスを作成しています。 出来たセルにマウスカーソルを持っていくと [○○○.xls]△△△シート!$AJ$114 アドレスが表示されます。 クリックするとちゃんと飛べます。 アドレスの表示を調べてみたところ Range("A1").Hyperlinks(1).Address というように記述する事で取得出来ると書かれていたので早速試してみたのですが インデックスが有効範囲にありません。と表示されてしまいます。 アドレスを取得するにはどうしたらいいのでしょうか?

  • シート内のセルに各シート名を表示するには

    セルに下記の値を入力してシート名を取得しています。 RIGHT(CELL("filename"),LEN(CELL("filename"))-FIND("]",CELL("filename"))) シート名を取得できたのでこのシートを雛型にしてシートをコピーしてシート名を変更したら雛型側も変更されてしまいました。 例えば  シート名が「シート1」のセルに「シート1」  シート名が「シート2」のセルに「シート2」  シート名が「シート3」のセルに「シート3」 というようにしたいのですがうまくいかず困っています。 ※セルとは上記の値を組み込んでいるセルです。 各シート内のセルにそれぞれの各シート名を表示するようにどうしたらいいのでしょうか? 説明が下手ですみませんが理解していただけましたでしょうか? 宜しくお願いします。

  • EXCEL:シート名を返す関数?

    アクティブシート名を返す関数ってあるのでしょうか。 ヘルプやネット検索で探してみたのですが見あたりませんでした。 とりあえず =RIGHT(CELL("filename"),(LEN(CELL("filename"))-FIND("]",CELL("filename")))) で、悪あがきしているのですが、 他シートで同じ式を使うと、何故か(!)すべてのシートの上式の答えが 同じになってしまいます。 CELL("FILENAME")は、1ブック1回しか使えない、とかあるのでしょうか。。 当方、EXCEL2000、WIN2000、利用者は素人(私)です。 できればVBAとかは使わず、関数で処理したいのですが、 皆様の御知恵をお借りできませんでしょうか。。

  • excelでファイル名を自動入力する方法

    excelでファイル名をセルに自動入力する方法を探しています。 =MID(CELL("filename"),SEARCH("[",CELL("filename"))+1, SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-5) 上記の方法で自動入力可能なのですが、あとから同時に他のファイルを開いたりすると、そのファイル名がセルに入力されてしまい、困っています。 複数ファイルを同時に開いても、当該ファイル名を入力するようにはどうしたらよいでしょうか? 【詳細】 ファイル1.xlsのセルA1に上記式をセットしてある状態でファイル1.xlsを開くと、セルA1には「ファイル1」と入力されているが、あとからファイル2.xlsを開くと、セルの内容が「ファイル2」に変わってしまう。

  • 他のワークシート名の取得方法 (VBAを使用せずに)

    VBAを用いずに、ワークシート関数のみでワークシート名を取得できないか探しています。 自分のシート名は、以下の出力結果の一部より取得することができました。 =CELL("filename") しかし、他のシート名を取得する方法が思いもつきません。 VBAを用いずにシート名を取得することはできないのでしょうか?

  • VBA(マクロ)を使わずファイル名の数字のみ抽出

    ファイル名の抽出方法は、ググったらわかりましたが、ファイル名からの数字のみ抽出する方法は可能でしょうか? =MID(CELL("filename"),SEARCH("[",CELL("filename"))+1, SEARCH("]",CELL("filename"))-SEARCH("[",CELL("filename"))-5) =MID(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1))+1,FIND("]",CELL("filename",$A$1))-FIND("[",CELL("filename",$A$1))-5) 例: 123abc456.xls → 123456 sample123.xls → 123   マクロは考えていないです。よろしくお願いします。

専門家に質問してみよう