- 締切済み
ハイパーリンク
宜しくお願いします。ハイパーリンク関数で飛んだ先のセルを強調したいのですが、ネットで調べるとハイパーリンク組む時に設定できるみたいですが、ハイパーリンク関数で組んだので、右クリックしてもハイパーリンクの削除しかありません。因みに、マクロ抜きで、設定したいのです。宜しくお願いします
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17070)
VBAは経験ないようだが、まず下記を読んでみて。 >ハイパーリンク関数で飛んだ先のセルを ハイパーリンクを設定したクリックをクリックすると、指定した先(同一か他シートのセル)に飛んでゆく。その時その飛んで行った先のセルが、アクチブになる。それはわかるよね。 それでWEBに例があるところの Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) ActiveCell.Interior. ActiveCell = 6 End Sub の 「Worksheet_FollowHyperlink」イベントが起こり、指定セルに飛んでゆくが、 ActiveCellが飛んで行った(行く)先のセルです。 そのセルの塗りつぶし色を黄色( ActiveCellは6 )に設定するのが上記コードです。 これはHype-Linkを1つクリックするごとに,1つ設定する仕組みです。 それを前もってやるとすると、とび先を全部拾い上げて(列挙して)セルの塗りつぶし食を設定しないとならない。 設定して記憶のある時でなく、後日に、そういうことに、思い立ったとき「全部を列挙するような問題」はVBAでやらないとできないと思う。 Sheet5で Sub test03() ActiveSheet.Cells.Hyperlinks.Delete Worksheets("Sheet5").Activate For j = 1 To 5 ActiveSheet.Cells(j, 1).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'Sheet5'!$D" & j, TextToDisplay:=ActiveSheet.Name & "!D" & j Next End Sub でハイパーリンクを設定しておいて、 Sub test04() For Each h In Worksheets("Sheet3").Hyperlinks MsgBox h.SubAddress Range(h.SubAddress).Interior.ColorIndex = 8 Next End Sub をやってみたが、とび先はライトブルーになった。 しかし上記は簡単な例(同一シート内)でしかなく、とび先はいろいろあり得るので、こんなに簡単には行かないかもしれず難しい見込み。 一般にエクセルの操作(VBAに対して)で、列挙できるのは、検索操作などのほかあまりない。そうすると書式設定もセルごとなどの個別操作になる。 VBAをやれないなら、あきらめるほかない課題ではないか。
- neKo_quatre
- ベストアンサー率44% (737/1646)
> ネットで調べるとハイパーリンク組む時に設定できるみたいですが、 こちらのQ&Aでなくて? EXCELのハイパーリンクでリンク先のセルを強調したいのですが、どう... - Yahoo!知恵袋 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11119244756 マクロで何かやってるっぽいですが。 こちらの話でないのなら、質問者さんがネットで調べた結果のURLなんか提示するのが手っ取り早いと思います。
お礼
ご回答ありがとうございます。VBA使わないとできない点の解説もありがとうございました。どうもありがとうございました。