[[20161202211559]] 『セルにタイトルを書きクリックすると該当のURL』(初心者9371) ページの最後に飛ぶ

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

 

『セルにタイトルを書きクリックすると該当のURLに接続したい』(初心者9371)

宜しくお願いします。
  
    A    B   C   D

 1
 2      YAHOO     http://www.yahoo.co.jp/
 3
 4
 というふうにしておき
 B2セルをクリックすると D2セルのhttp://www.yahoo.co.jp/
 に接続したいと思います
 B2セルのYAHOOの文字にハイパーリンク先として
 http://www.yahoo.co.jp/を貼り付ければ結果は得られる
 のですがマクロを勉強するうえで上記をやりたいと思います
 
 クリックしたセルの2つ右のセルに書かれているURL
 へ接続するにはどうればいいかということになります
 宜しくお願いします。
 

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


 いろんな方法がありますが、一例です。

[[20151015110214]] 『コマンドボタンにURL埋め込み』(wish)
(カリーニン) 2016/12/02(金) 21:47


 シートのイベントの参考HPです。

http://excelvba.pc-users.net/fol3/3_6.html

 なお、クリックしたとき、というイベントはありません。
 BeforeRightClickイベントやSelectionChangeイベントで
 代用することになると思います。

 VBAのOffset関数も調べてみてください。
(カリーニン) 2016/12/02(金) 21:54

 「Offset関数」ではなく「Offsetプロパティ」のようです。すみません。
(カリーニン) 2016/12/02(金) 22:21
 カリーニンさん
 有難うございます。
 かなり難しく原稿」では正直理解できませんです。
 あれこれもうすこし確認してみます。
 > クリックしたセルの2つ右のセルに書かれているURL
 >へ接続するにはどうればいいかということになります
 が出来るようもう少し確認してみます。
 有難うございました。
  2日 22:34 (初心者9371)


 こんなページも参考になると思います。

http://officetanaka.net/excel/vba/tips/tips42.htm

 カリーニンさんが紹介された学校内のトピで提示された方法以外のパターン、
 たとえば セル.Hyperlinks(1).Follow といったものも掲載されていました。

(β) 2016/12/02(金) 22:35


 βさん,有難うございました。
 Sub Sample1()
    Range("D2").Hyperlinks(1).Follow NewWindow:=True
 End Sub
 でD2の中に書いてあるURLを開くするこことができました
 有難うございました。

 βさんのご支援内容とカリーニンさんのとを合わせると希望の
 事ができそうな匂いはしてきましたがゴールは遠くにありそうです
 確認していきます
 2日 22:58(初心者9371)

 教えて頂いたことを自分なりに調べてみましたが正直さっぱり
 わかりませんでした。
    A    B   C   D
 1
 2      YAHOO     http://www.yahoo.co.jp/
 3
 4
 B列のセルをクリックなりダブルクリックでD列のURLへ
 リンクさせるにはどうすればいいで」しょうか
 よろしければ教えて頂けないでしょうか
 宜しくお願いします。
 初心者9371 3日 06:30

 


 ダブルクリックするなり、選択するなりした、そのセルが空白ではなく、かつ 右に2つめのセルにハイパーリンクが設定してあれば飛びます。
 セルが空白であったり、右2つ目のセルにハイパーリンク設定がない場合はからぶりします。

 シートモジュール(シートタブを右クリックしてコードの表示を選ぶと出てくるところ)に
 以下の【いずれか】を貼り付けてください。

 ●ダブルクリックなら

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim c As Range

    Set c = Target

    If IsEmpty(c) Or c.Offset(, 2).Hyperlinks.Count = 0 Then Exit Sub
    Cancel = True
    c.Offset(, 2).Hyperlinks(1).Follow True

 End Sub

 ●セルの選択なら

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim c As Range

    Set c = Selection(1)
    If IsEmpty(c) Or c.Offset(, 2).Hyperlinks.Count = 0 Then Exit Sub
    c.Offset(, 2).Hyperlinks(1).Follow True

 End Sub

(β) 2016/12/03(土) 07:39


 βさん。
 希望通りに動きました。
 「凄い」の一言です
 両方できました

 現時点では
 ダブルクリックで何かしようとする場合は
  _BeforeDoubleClick
 クリックで何かしようする場合は
  _SelectionChange
 キーとなるセル位置から見たターゲットのセルの位置は
  Offset(, 2)
 だろうなということしかわかりませんが
 これで作業が進みます。
 有難うございました。
 初心者9371 3日 09:22


コメント返信:

[ 一覧(最新更新順) ]


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