• ベストアンサー

Excelのシートへのリンク

Excelのブックにあるシート名をA列のセルに入れてあります。これをシートにリンクさせたいのですが、マクロで簡単にできませんか?現状は、1つ1つ、ハイパーリンクしています。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

VBAでも出来ると思いますが、エクセルには、HYPERLINK関数と言うのがあります。これを使われては。 私のやった例では、新規ブックのBOOK1状態ではなく、ファイル名を指定して保存を済ませて後、開いたファイルで(私の場合21.xlsと言うMy Documentsフォルダ内のブックでテスト) Sheet2のA1にコメント「情報A」(何でも良い)といれ B1に [c:\my documents\21.xls]Sheet3!D3 と入れる。””で囲まなくて良いようです。ブック名は [ ]で囲むこと。Sheet名は!でセル番地と区切ること。 そしてC1セルに =HYPERLINK(B1,A1)と入れる。C1セルには「情報A」と A1に入れた内容が出て、ハイパーリンクの色になる。 C1をクリックすると、同ブックのSheet3のD3セルを指す。 (質問のケースでは) さてシート名だけがA列に入っているので、フルパス表示にするにはどこかのセル(例$D$1)に[c:\my documents\21.xls]を入れておいて(これが別々だと困るのですが、同じ場合として) =$D$1&A1をB1に入れ、B2以下に複写する。 さてHYPERLINK関数の複写であるが クリックするとリンク先に飛んでしまい始末が悪いが、元のシートに戻ると、HyperLink関数の入ったそのセルをポイントしているから、編集-コピーでコピーをして、B2:B20とか範囲指定して、編集-貼りつけをすると旨く行くようです。 この方法は、実務で大きな力を発揮しそうな仕組みだと思っています。エクセルシートの内容・中身の目次が作れそうですから。

dogs59
質問者

お礼

 ありがとうございます。  考え方としてわかりましたので、少し手を加えて成功しました。  ご指摘のとおり、エクセルの目次?を作って管理しようと思っています。応用で、ファイルへのリンクもできますしね。