「教えて!ピックアップ」リリース!

Excel 2002 を使用しています。
1.Sheet1 のセル C3 および Sheet2 のセル A40 に文字列 CRCN-40094 が入力されてい
  ます。
2.Sheet1 のセル C3 をアクティブにして、[挿入]→[ハイパーリンク]→[このドキュメ
  ント内]を選択
3.[またはドキュメント内の場所]窓内の“Sheet2”を選択した後で、[セル参照を入力し
  てください]ボックス内に A40 を入力して[OK]をクリック

此れで、Sheet1!C3 は Sheet2!A40 にハイパーリンクされた状態になります。
同様の操作で、Sheet1 のセル C4、C5 を Sheet2のセル A56、A70 にそれぞれハイパーリンクさせます。ここで…

4.Shee2 の1行目に1行挿入

この場合、Sheet1 のセル C3、C4、C5 のハイパーリンク先も Sheet2 の セル A41、A57、A71 にそれぞれ1行(ステップ4で挿入した行数分)下に移動して欲しいのですが、そうはなりません。何か簡単な方法はありますか?

A 回答 (4件)

#3のNNAQです。



HYPERLINK関数のヘルプを良くお読み頂ければお解かりになると思いますが、
リンク先は、ブック名から指定して「" "」で囲むか、
またはリンク先が入力されたセルを参照させなければなりません。
=HYPERLINK("[Book1.xls]Sheet2!A40","CRCN-40094")
のようになります。

同一ブックの場合は特殊記号の「#」を使って
=HYPERLINK("#Sheet2!A40")
同一シートなら
=HYPERLINK("#A40")
で、OKです。

でもこれだと文字列ですから、関数じゃなくてハイパーリンクの挿入と同じで、リンク先は移動しませんよね。
ですので、セル参照を文字列で返すCELL関数を使えば、行の挿入等の影響は受けません。
CELL関数を使うと、ブック名から指定してしなくても良いみたいですし。

応用で、例えば
=HYPERLINK(CELL("address",INDEX(Sheet2!A:A,MATCH("CRCN-40094",Sheet2!A:A,))),"CRCN-40094")
とかすれば、任意の文字列に対して、或いはそのセル番地が不明でも
リンクさせることが出来ます。
    • good
    • 1
この回答へのお礼

ブック名の「.xls」を付け忘れておりました。
特殊記号の「#」が使えることも知りませんでした。

有益な情報をありがとうございました。

お礼日時:2006/12/20 22:29

HYPERLINK関数を使うのはダメですか?



=HYPERLINK(CELL("address",Sheet2!A40),"CRCN-40094")
こんな感じで・・・

この回答への補足

HYPERLINK関数なるものを知りませんでした。
ヘルプ文の最後に「同じブックの別のワークシートにジャンプするには、…」に従ってみたつもりですが、首尾良くは動作しませんでした。

また、=HYPERLINK(Sheet2!A40,"CRCN-40094") だと動作せず、お示しの =HYPERLINK(CELL("address",Sheet2!A40),"CRCN-40094") だと希望通りの動作をするのはなぜなのかが理解できません。解説いただけないでしょうか?

補足日時:2006/12/19 01:34
    • good
    • 3

こんばんは。



通常、そういう場合は、Sheet2 側のA40 に文字列 CRCN-40094 のセルを、名前-定義
例えば、「JUMP1」で登録します。そして、ハイパーリンクで、「定義された名前」で、「JUMP1」にすれば、行が挿入されても、目的の場所に移動してくれます。

もともと、ハイパーリンクの中の登録先は、文字列なので、文字列自体を書き換えるのは、マクロなどでないと難しいのです。だから、最初から、名前-定義にしておくのが簡単だと思います。

見当はずれでしたら、また、考えてみます。
    • good
    • 0
この回答へのお礼

なるほど。範囲名という手段に思い至りませんでした。

ステップ3において、「“Sheet2”を選択した後で、[セル参照を入力してください]ボックス内に A40 を入力して」を「“定義された名前”の配下にある該当する“名前”を指定して」に読み替えると希望通りになることを確認しました。

適切なアドバイスをありがとうございました。

お礼日時:2006/12/18 01:21

sheetが異なれば、あるsheetに対して行った操作の結果が他のsheetに反映されないのは当然だと思いますが…



sheetの複数選択で同じ結果を反映させる事は可能ですが、mike_gさんがやりたいことはそういうことではないですよね?

この回答への補足

》 他のsheetに反映されないのは当然だと思いますが…

当該現象は同じシートでも発生します。当該現象は当然かも知れないと承知しているつもりです。しかし…
Sheet1!C3 に式 =Sheet2!A40 あるいは =Sheet2!$A$40 を入力した場合、Sheet2 の1行目から40行目の間に1行を挿入したとき、Sheet1!C3 の式は自動的に =Sheet2!A41 あるいは =Sheet2!$A$41 に変化しますよね。それと同様の現象がハイパーリンク式でもあっても好いかなぁと。なければ、複数のハイパーリンク式を簡単に一括修正する方法でも良いのですが…

既にお気付きと思いますが、「sheetの複数選択で同じ結果を反映させる事」とは違います。

補足日時:2006/12/17 21:37
    • good
    • 0

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

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


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング