プロが教える店舗&オフィスのセキュリティ対策術

Excel2003を使っております。
sheet1とsheet2をハイパーリンクさせようとしております。
sheet1のリンク部分をクリックし、sheet2に飛ばした際にsheet2のリンクされた場所が画面の中央上部に来るように表示させたいのですが、どうしたらよいのでしょうか?
宜しくお願いいたします。

A 回答 (7件)

マクロを使用してなら、


 sheet2のシート名にマウスを当て
 右クリックします。
右クリックメニューから
 コードの表示を選択します。
次に
 下記コードをコピーして貼り付けます。
 ここでは、セル AA1にリンクを張っているものとしています。
 現在、私の環境では、15列までの表示になっていますので
  AA1を中央上部に、表示させるには、-8行する必要があります。

Private Sub Worksheet_Activate()
Application.GoTo Reference:=Range("AA1").Offset(0, -8), Scroll:=True
End Sub

注意:
  これは、シートに、1つだけ リンクを張る(ハイパーリンク)
場合のみ、有効です。
  また、Range("A1").Offset(0, -8)とするとエラーになります。
  なぜ、エラーになるかは、考えてください。
 同じ シートに複数リンクを張る場合は、コードを編集する必要があります。

以上参考まで。
    • good
    • 0
この回答へのお礼

Nayuta_X 様
ご回答ありがとうございました!
やはりマクロを扱う必要があったのですね。
マクロはまだ不勉強でしたので、後学のためにも
これを期に取り組んでみます^^
お世話様でした!

お礼日時:2008/03/04 07:24

最近のものは、解りませんが


下記URLなどを参考にされたらどうでしょうか??。
インターネットに、接続出来ない環境下なら書籍を求める必要がありますが、そうでないのなら
インターネットを活用すべきかと思いますよ。

私の持っているものは、(株)翔泳社出版の EXCEL97 VBA辞典で、プロパティをまとめたものです。(いつも手放せないです。)
その他、参考書はありますが いづれも古いものばかりで現在は販売されて居ないでしょう。
下記サイトをじっくり見ると、参考になることが沢山あります。

*** Office製品の一般操作からVBAプログラミング、最新アプリケーションのレビューまで幅広く扱う、Excelを使い始めた新人も、自分のスキルの再確認にも、事務職から開発者まで必見の講座群があります。

参考 URL:
http://www.moug.net/skillup/index.htm


日々のルーチン作業を簡単に、そして確実に行うために、ぜひ身につけたいExcelVBA。
『Excel VBA ビギナーズ バイブル』はマクロ記録やVBエディタの基本といった「はじめの一歩」から、中上級者のスキルアップにかかせない情報が満載の講座。
    • good
    • 0
この回答へのお礼

いつも大変丁寧にご回答頂きましてありがとうございます^0^
常にネットにつながる環境にございますので、仰るとおりに
ネットを活用した形で取り組んでみたいと思います。

ありがとうございました!

お礼日時:2008/03/08 14:13

修正です。


errorCheck:の ":"が、抜けました。と言うより ここでは、 見えないだけかな??。

正しくは、下記です。
ここをcopyして ":"が、入っているか確認してください。 

Private Sub Worksheet_Activate()
Dim Add As String

On Error GoTo errorCheck

Add = ActiveCell.Address
Application.GoTo Reference:=Range(Add).Offset(0, -8), Scroll:=True

errorCheck:
Resume Next


End Sub
    • good
    • 0
この回答へのお礼

どうもありがとうございました^^/

ところで、マクロについて教えて頂きたいのですが、
マクロを使ったプログラム(?)を覚えてみたいと
思うのですが、参考となる良書がございましたら
教えて頂けないでしょうか?
○○出版社の「○○○」といったような。
勝手を申し上げてすみません。
お時間のある時にで結構ですので
宜しくお願いいたします。

お礼日時:2008/03/07 22:18

修正です。


errorCheck:の ":"が、抜けました。
正しくは、下記です。

Private Sub Worksheet_Activate()
Dim Add As String

On Error GoTo errorCheck

Add = ActiveCell.Address
Application.GoTo Reference:=Range(Add).Offset(0, -8), Scroll:=True

errorCheck:
Resume Next


End Sub
    • good
    • 0

エラー処理をしています。


時間あったので、作ってしまいました。

Private Sub Worksheet_Activate()
Dim Add As String

On Error GoTo errorCheck

Add = ActiveCell.Address
Application.GoTo Reference:=Range(Add).Offset(0, -8), Scroll:=True

errorCheck:
Resume Next


End Sub
    • good
    • 0

同じ シートに複数リンクを張る場合は


下記コードに変更します。

Private Sub Worksheet_Activate()
Dim Add As String

Add = ActiveCell.Address
Application.GoTo Reference:=Range(Add).Offset(0, -8), Scroll:=True
End Sub
    • good
    • 0
この回答へのお礼

Nayuta_X 様
ありがとうございました!
お忙しいところ恐れ入ります^^;
とても助かりました^^/

お礼日時:2008/03/04 20:14

リンク先にsheet2のセル(例えばA20など)を指定できますから、それを適切に指定すればOKでは?

    • good
    • 0
この回答へのお礼

unoki 様
ご回答ありがとうございました!
sheetのセルを指定しただけですと、ポインタは移動するのですが
画面は動かずポインタだけが画面の端っこに表示されてしまうの
です。
まだ、試しておりませんがマクロで試してみたいと思います。
お世話様でした!

お礼日時:2008/03/04 07:30

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

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