[[20111117154957]] 『ハイパーリンク時画面中央(上位)に表示させたい』(マクロ初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ハイパーリンク時画面中央(上位)に表示させたい』(マクロ初心者)

Sheet1(リンク元)をクリックすると、
Sheet2(リンク先)に飛ぶように、ハイパーリンクを約50箇所設定しました。

リンク元をクリックすると、リンク先に飛ぶのですが、
画面中央に表示されません(もしくは画面上位でも構わない)。

過去ログ等も見させてもらいましたが、うまくいきません。

Excel2003
Windows 7を利用してます。


 こんなのをSheet1のシートモジュールに書いたら、ワークしないですか?
   ↓
 Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
     Application.Goto ActiveSheet.Range(Target.SubAddress), True
 End Sub

 (半平太) 2011/11/18 22:47

Sheet1→右クリック→コードの表示→
「Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
With ActiveWindow
x = Int(ActiveCell.Column - .Width / ActiveCell.Width / 2)
x = IIf(x <= 0, 1, x)
.ScrollColumn = x
End With
End Sub」を挿入
→保存→終了してExcel Fileに戻る。→再度立ち上げ→マクロ有効にする。

という作業を繰り返していますが、うまく働きません。

再三の質問で大変申し訳ないんですがよろしくお願い致します。


 そんなに厳密に考えるような事だとは認識していないのですが、
 左端および上端から 5,6セル 離れていればいいと云う訳ではないのですか?

 Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

 Dim offsetRow As Long
 Dim offsetCol As Long

 Application.ScreenUpdating = False
     Application.Goto ActiveSheet.Range(Target.SubAddress), True

     With WorksheetFunction
         offsetRow = .Min(5, ActiveCell.Row - 1)
         offsetCol = .Min(5, ActiveCell.Column - 1)
     End With

     ActiveWindow.SmallScroll up:=offsetRow, toleft:=offsetCol

 Application.ScreenUpdating = True

 End Sub

 (半平太) 2011/11/23 14:05

そうです。
一番上、もしくは上端から一定セル離れているという認識です。

ただ、現状はやはり、リンクで飛ばした際、画面一番下の段へ来てしまったり、違うリンクをクリックしてみたら、今度は一番上にきたりと、一定位置に飛ばないのが問題です。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.