Excel でハイパーリンクを作成し、そのシートのコピーを作成した場合、新しいコピーのハイパーリンクをクリックすると、新しく作成されたシートではなく、前のシートのセルにリンクしてしまいます。
常に対応するセルにリンクするハイパーリンクを作成するにはどうすればいいですか?現在アクティブなシート?
答え1
挿入されたハイパーリンクは絶対参照です。
シートを作成/コピーした後、ハイパーリンクを編集して、目的のシートを指すようにする必要があります。
Hyperlink() 関数はより動的で、リンク アドレスを持つセルを指すことができます。現在のシート名に基づいて、リンク アドレスを文字列として構築できます。次のような数式を B1 に入力します。
=MID(CELL("filename",a1),FIND("[",CELL("filename",a1)),99)&"!"&CELL("address",A1)
セルにハイパーリンク機能を使用してリンクを作成します。
=HYPERLINK(B1,"go to top")
シートをコピーすると、数式は現在のシートを参照し、リンクは現在のシート内に残ります。ヒント: シート名はスペースなしで使用してください。
シート名にスペースが必要な場合は、数式が少し複雑になります。
=SUBSTITUTE(MID(CELL("filename",A1),FIND("[",CELL("filename",A1)),99),"]","]'")&"'!"&CELL("address",A1)
この数式は、既に保存されているブックでのみ機能し、保存されていない新しい Book1 では機能しないことに注意してください。