[[20160502161439]] 『ハイパーリンク先の位置』(grace_soumu) ページの最後に飛ぶ

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

 

『ハイパーリンク先の位置』(grace_soumu)

いつもお世話になっております。

ハイパーリンクを設定したリンク先についてのご質問です。

ハイパーリンクを設定し、そこから別のページにジャンプした時の
位置を左上にもっていきたいのですが、必ず左下になってしまいます。
どのように修正すればいいでしょうか?

ご教授の程よろしくお願い致します。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


[[20151010133207]]が参考になるでしょう。

(γ) 2016/05/02(月) 17:33


ありがとうございます。

言葉足らずですみません。
リンクの設定はキチンとできるのですが、画面がいつも左下になってしまうんです。
それを左上に設定したいのですが…どうすればいいでしょうか?
(grace _soumu) 2016/05/02(月) 21:33


引用が長かったかな。
リンクは、Hyperlink関数を使ったものですか?そうではないですか?

(γ) 2016/05/02(月) 21:44


 こんばんわ。

 ジャンプ先を左上に持って行く方法としては、完全に望む結果にするには、
 γさんが提示されているマクロ案になるでしょうね。

 マクロを使わないとすると完全には望み通りにはなりませんが、ジャンプ先を目的のセルが一番左上になるように、
 画面に収まりきらないくらいのセル範囲にすると、複数選択状態で目的のセルが一番左上にきます。

(sy) 2016/05/02(月) 22:11


「リンク先のセルが常に画面の左上に来るようにしたい」ということですね。

(1)関数でない場合には、以下のイベントプロシージャを使うとよいでしょう。
 ThisWorkbook モジュールに以下のマクロをコピーペイストしてみて下さい。

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
  Application.Goto Excel.Range(Target.SubAddress), True
End Sub

(2)HYPERLINK関数の場合は、上のイベントが発生しないので無理です。
 ボタンを登録して、上記のApplication.Gotoを使ったマクロを貼り付けておくかです。
 (多数のボタンがある場合には別の工夫をすれば、マクロをたくさん書く手間を
 省くことができます。不要のようなので省略しますが。)

「マクロはお呼びじゃない」ということなら、syさんの方法をどうぞ。

(γ) 2016/05/02(月) 22:20


お礼が遅くなってしまい誠に申し訳ございません。
立て続けに別の用件が入ってしまい、こちらのお礼が遅くなってしまいました。

ご質問にありましたが、リンクはHYPERLINKを使用しております。
γさんに教えて頂いた通りのマクロをコピペしましたが、うまくいきませんでした。

実は以前にも同じような不具合が発生しこちらにお世話になりました。
同じようにマクロを貼付けた所、問題が解消したのでそのままそのファイルを社内で使っていました。
所が久しぶりに中身を確認した所、また同じような問題が発生しておりました。
他の人は中身を変更できないようになっているので、突然どうなってしまったのかが全くわかりません。

もしまた教えて頂けるようでした何卒よろしくお願い致します。
どんな情報をお伝えすればいいでしょうか?

(grace_soumu) 2016/05/11(水) 14:32


 >どんな情報をお伝えすればいいでしょうか? 

 以前はうまく行っていて、今おかしくなっっているコードをアップして頂けば
 話は早いと思います。

(半平太) 2016/05/11(水) 14:41


こちらで以前はうまくいっておりました。

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)

    Application.Goto Excel.Range(Target.SubAddress), True
 End Sub

(grace_soumu) 2016/05/11(水) 15:21


 そのコードの書いてあるモジュールですけど、

 チャンと ThisWorkbook にしてありますか?

 まさか、Sheetモジュールに書いてあるなんて事は無いですよね?

(半平太) 2016/05/11(水) 15:48


[[20141120215113]]
とおなじものならねむねむさんの下の方だとおもいますが
(x) 2016/05/11(水) 16:25

半平太様 いつもお世話になっております。

確認しました。
まさにSheetモジュールに記載されておりました。
これを「ThisWorkbook」に記載するにはどうすればいいでしょうか?
他のモジュールがすでに記載されております。

その辺の事がまったくわからなくて。。
何卒ご教示願います。

(grace_soumu) 2016/05/11(水) 17:25


  >これを「ThisWorkbook」に記載するにはどうすればいいでしょうか?
  ここら辺を参考にThisWorkbookと表示されているところをダブルクリックすれば、画面中央に表示されます。
  ↓ 
http://kabu-macro.com/word/ha-ho/hensuu_scope.html

  >他のモジュールがすでに記載されております。
  この意味がよく分からないですけど、ThisWorkbookのモジュールには辿り着けているということですか?
  そこに、色んなマクロが書かれているということなんでしょうか?
  それなら、一番下まで行って、何もない処にコードを「コピー → 貼り付」をしてください。

  処で、これはどういう意味ですか?
       ↓
 >リンクはHYPERLINKを使用しております。 

 HYPERLINK関数を使用しているという意味ですか?
 それだと、ご提示のマクロは作動しないですけど・・・

(半平太) 2016/05/11(水) 18:27


何か本当にマイペースな方ですね。
もう少し、他人の発言をよく読んで、きちんと受け止めて欲しいなあ。

(γ) 2016/05/11(水) 23:29


 皆さんから指摘がありますが、

 ・落ち着いて皆さんからのコメントを、しっかりと読みましょう。
 ・皆さんから指摘されている質問等には、必ずすべて答えるようにしましょう。
 ・自分が書きこんだコメントが、正しく、grace_soumu さんの意図を表現し切っているか アップ前によく、読み返してください。

 Q/Aの流れが、ちぐはぐというか、テレコになっている印象です。

 ハイパーリンクには、セルへのハイパーリンクの埋め込みと HYPERLINK関数を記述する方法がありますね。
 どちらなのか、【リンクはHYPERLINKを使用しております】だけでは わからないですね。

 で、

 >>こちらで以前はうまくいっておりました。
 >>まさにSheetモジュールに記載されておりました。 

 ここから推測すると、セルへの埋め込みのようですね。
 でも、アップされたコードは、2016/05/02(月) 22:20 さんが提示されたコードと寸分たがわぬものです。
 そんな偶然はないですよねぇ。

 ちゃんと、自分のマクロブックのシートモジュールに記載されたコードをアップしましょう。

 で、 Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink) 

 これは ThisWorkbookモジュールの記述するものです。ブック内のすべてのシートのハイパーリンクの動きをキャッチします。

 一方、Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) があります。

 これは 該当のシートモジュールに記述するものです。そのシートでのハイパーリンクの動きのみをキャッチします。
 別のシートのハイパーリンクはキャッチしません。

(β) 2016/05/12(木) 07:58


ご指摘頂いてありがとうございます。
後日落ち着いて再度ご質問させて頂きます。
誠に申し訳ございませんでした。
(grace_soumu) 2016/05/12(木) 13:45

コメント返信:

[ 一覧(最新更新順) ]


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