Excelの別のセルにジャンプするハイパーリンク


4

MS Excel 2007(以前はExcel 2003に慣れていました)を使用しています。セルA1(シートSheet1)に単純なハイパーリンクを作成し、セルA1をクリックすると、カーソルがセルB10に移動します。それは非常に簡単で、問題ありません(セルA1を右クリックして、ハイパーリンクを選択するなど)。

タブの名前を変更すると問題が発生し、ハイパーリンクが機能せず、「参照が無効です」という警告が表示され、ハイパーリンクを編集して機能させる必要があります。この問題は、シート(Sheet1(2)という名前の新しいシート)をコピーするときにも発生します。セルA1をクリックすると、新しいシート(Sheet1(2))のセルB10ではなくSheet1のセルB10に移動します。ここでも、ハイパーリンクを編集して機能させる必要があります。

タブの名前を変更するか、リンクを別のシートにコピーするたびにハイパーリンクを編集しないようにする方法はありますか(「絶対」ではなく「相対」にします)?

回答:


3

マクロなしではできないと思います。Excelの標準ハイパーリンク機能は、指定されたワークブック、シート、およびセルの参照で動作するように設計されています。それでも、HYPERLINK数式を使用する方が快適かもしれません。セルA1で次の数式を入力すると、ハイパーリンクが作成され、クリックするとセルB10に移動します。

=HYPERLINK("[Book1]Sheet1!B10", B10)

Sheet1の名前を変更するときは、この式の内容も変更する必要があります。


3
これを拡張するために、リンクが常に同じシート内にある場合、シート名を入力するシート上にセルを作成し、それをHYPERLINK使用してシート上にすべての数式を作成できます。最終的には次のよう=HYPERLINK("[Book1.xls]"&A1&"!B1","Up")になりA1ます。セルの名前を入力する場所。その後、すべてのハイパーリンクを更新するために1つのセルを変更するだけで済みますがHYPERLINK、各シートに1つの数式しかない場合、これは役に立ちません。
DMA57361

1

= HYPERLINK(CONCATENATE( "#"、CELL( "Address"、A1))、 "Link Name")

何らかの理由で「#」は現在のファイル名を表します(一度にGoogleから削除しました)。全体が非常に柔軟であり、ファイルを頻繁に再配置する人であれば、数式を使用してシート名とファイル名を動的に取得できます。

ダイナミックハイパーリンクを使用します。Z15で一致するものをすべて見つけて、リンクを設定します。

= HYPERLINK(CONCATENATE( "#"、CELL( "Address"、INDEX($ A $ 1:$ A $ 2500、MATCH(Z15、$ C $ 1:$ C $ 2500,0)+0)))、 "リンク名")

他のハイパーリンク機能(セルを右クリック)はかなり面倒です。

...最近のほとんどのドキュメントには、ハイパーリンクで満たされた目次シートがあります。残りには、シート全体のナビゲーションに使用されるいくつかの固定された行または列と、コンテンツのテーブルへのリンクがあります。


「#」はURLのフラグメント識別子を模倣していると思います。
アルジャン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.