[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ハイパーリンクのVBA記述』(万年太郎)
ハイパーリンクのVBA記述がうまくいかず、HELPをみてもよくわからないので投稿します。 sheet(2)のRange("E1")に”メニュー画面に戻ります”のハイパーリンク設定をしてsheet(1) に戻るようにしたいのですが、戻りません。
Sub ハイパーリンクテスト() Dim wh1, wh2 As Worksheet Set wh1 = Sheets(1) Set wh2 = Sheets(2) wh2.Select Range("E1") = "メニュー画面に戻ります" Range("E1").Hyperlinks.Add Anchor:=Range("E1"), Address:=Sheets(1).Range ("A1"), TextToDisplay:="メニュー画面に戻ります" End Sub
VBAの記述のどこに問題があるか教えて下さい。 WindowXP,Excel2003
こうですかね。
Sub ハイパーリンクテスト() With Sheets(2) .Range("E1").Hyperlinks.Add Anchor:=.Range("E1"), _ Address:="", _ SubAddress:=Sheets(1).Range("A1").Address(External:=True), _ TextToDisplay:="メニュー画面に戻ります" End With End Sub
SubAddressにアドレスを渡します。
それ以前にRangeオブジェクトのParentを指定していなかったり プロパティも省略されているので >Sheets(1).Range ("A1") これなんかはアドレスではなくSheet1のA1セルに書かれている値になってしまいます。 Rangeオブジェクトのプロパティを省略した場合のデフォルトはValueプロパティですので。 Addressプロパティで、なおかつシートも指定するので引数ExternalにTrueを設定しないと なりません。
(momo)
momoさん、早速のレスありがとうございます。上記の通り、やってみたらうまく行きました。 m(_ _)m m(_ _)m(万年太郎)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.