[[20231124103912]] 『リンク先のセルの強調について』(マクロ初心者) ページの最後に飛ぶ

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

 

『リンク先のセルの強調について』(マクロ初心者)

はじめまして。
ネットで色々調べたのですがうまくいかず、お知恵をお借りできたらなと思います。

EXCELのハイパーリンクでリンク先の別シートにあるセルを強調したいのですが、どうすればいいでしょうか?

強調の内容は
・セルの背景色を赤色
・セルの文字を太字
にするです。
(そしてできれば、セルの色は、リンク先が変われば
 前の場所の着色は消えて、新しく選んだリンク先のいろが変わってほしいです)

色々と調べまして、

シートモジュールに

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

Static MyRng As Range

If Not MyRng Is Nothing Then
MyRng.Interior.ColorIndex = xlNone
End If

ActiveCell.Interior.ColorIndex = 6

Set MyRng = ActiveCell

End Sub

というマクロをやってみたのですが、、、、
セルの色が変わりませんでした。

セルの強調以外にも、
リンク先のセルを含む該当の行だけ表示されて
残りは非表示になる等あったら
そちらの方法も伺いたいです。

全く初心者なので、コピー&ペーストをすると、そのまま実行されるマクロの式を教えて頂けると幸いです。
どうぞよろしくお願いいたします。

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


    Dim tempcell As Range
    Dim col
    Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    If Not tempcell Is Nothing Then
        tempcell.Interior.Color = col
        tempcell.Font.Bold = False
    End If
    Set tempcell = ActiveCell
    col = tempcell.Interior.Color
    ActiveCell.Interior.Color = vbRed
    ActiveCell.Font.Bold = True
    End Sub

(mm) 2023/11/24(金) 12:56:59


 挿入- リンク からのリンクなら提示のコードは動作しました。
 念のためですが、そのリンクはどのように作りましたか?
 HYPERLINK関数ではイベントが発生しないので注意が必要です。

(xyz) 2023/11/24(金) 13:21:43


mmさま

ありがとうございます。

いただいたマクロを入れてみましたが、色はセルつかず、

やり方がよくわからずせっかくなのに申し訳ございません。

とお伝えしようとしたところ

xyzさま
ご指摘いただきありがとうございます。
HYPERLINK関数でリンクを作成しておりました。。。
その場合はできないという事で、、、
解決策を別であればよいのですが。。。。

(マクロ初心者) 2023/11/24(金) 13:52:47


 > 解決策を別であればよいのですが。。。。
 どういう意味なんでしょうか。日本語がわかりません。最後まで書いて下さい。
(xyz) 2023/11/24(金) 14:14:08

xyzさま

別の解決方法を考えないといけないなという意味でした。
言葉が足りず申し訳ございません。

ちなみに、HYPERLINK関数として
『案件一覧』というシートのB4:L4に1つの案件を入力して
そこから=HYPERLINK("#"&CELL("address",INDEX(管理用シート!$5:$5,MATCH(D4,管理用シート!$5:$5,0))),"スケジュール")
という関数を入て参照先の管理用シートにとべるようにしております。

管理用シートにとんだ時に、参照先のセルが強調されたら助かると思い、
今回のマクロの質問をさせていただいたのですが、
それができないとなると、
HYPERLINK関数と同様ことをマクロで実行できれば、
リンク先のセルの強調もできるのでしょうか?

その場合は、どのようなコードでしたら可能になりますでしょうか?

よろしければご教授ください。

よろしくお願いいたします。
(マクロ初心者) 2023/11/24(金) 14:43:16


既に書きましたが、挿入 - リンク でハイパーリンクを作りなおすことです。
これなら、既存の FollowHyperlink が動作します。

なお、
[[20231107162725]]
も参考になるかもしれません。(ひょっとして同じ方ですか?)

(xyz) 2023/11/24(金) 15:06:52


 こんにちは!

 SheetSelectionChange だと拾うので ThisWorkbookモジュールに↓と書いて
例の場合ですとG2で感知してFlgをONにして飛んだ先のアドレスを取得出来ます。
もしもこれで良ければ制限をもう少し工夫されて応用されてみてはいかがでしょうか???

 Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Static MyFlg As Boolean
If MyFlg Then
    MsgBox Target.Address(External:=True)
    MyFlg = False
End If
If Target.Address = "$G$2" Then MyFlg = True
End Sub
(SoulMan) 2023/11/24(金) 15:20:58

 質問の前提を改めて確認します。
 | ちなみに、HYPERLINK関数として
 | 『案件一覧』というシートのB4:L4に1つの案件を入力して
 | そこから=HYPERLINK("#"&CELL("address",INDEX(管理用シート!$5:$5,MATCH(D4,管理用シート!$5:$5,0))),"スケジュール")
 | という関数を入て参照先の管理用シートにとべるようにしております。

 ・対象とするハイパーリンクがセットされているセルはいくつあるんですか?

 ・> 『案件一覧』というシートのB4:L4に1つの案件を入力して 
     の意味が曖昧です。
     結合セルということですか?

 ・式に現れる D4セルとの関係は? 

 他人にもわかるように記述してください。 
 多数あるなら、マクロで対応する意味があります。
 例えばハイパーリンクに代えて、すべてダブルクリックのイベントプロシージャで実現することも
 考えられます。
 数がさほどなければ、手動でハイパーリンクを張りなおせば済むことです。
(xyz) 2023/11/24(金) 18:22:07

コメント返信:

[ 一覧(最新更新順) ]


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