- 締切済み
Hyperlink関数をクリックしてくれるマクロ
どなたか詳しい方教えていただけないでしょうか? ExcelのセルA1に以下のhyperlink関数を入れています。 =HYPERLINK(″#C″&MATCH(B1,C:C),″クリック″) 隣のB1に入れた数字を元にC列に存在する同じ数字先にジャンプするように関数を作ってます。 A1にできたリンクをクリックしたは、B1に入力されているものと同じ数字先のC列に飛ぶようにマクロを組みたいのですが、どうしたらいいでしょうか? ハイパーリンク関数がマクロに組み込めないのと色々調べてみましたがうまくいかないのでお手上げです。 どなたか詳しい方教えていただければと思います。 どうぞよろしくお願いします!
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- HohoPapa
- ベストアンサー率65% (455/693)
B1セルが書き換わったら、 B1に埋まった値と同じ値をC列の最終行から上方向に探し 最初に見つかったセルにリンクするHYPERLINKを A1セルに書き込む という動作でよければ、添付のようなコードでいかがでしょうか? Private Sub Worksheet_Change(ByVal Target As Range) Dim HitRow As Long Dim HitFlg As Boolean Dim LastRow As Long Dim i As Long If ((Target.Row <> 1 Or Target.Column <> 2)) Then Exit Sub LastRow = Cells(Rows.Count, 3).End(xlUp).Row HitFlg = False For i = LastRow To 1 Step -1 If Target.Value = Cells(i, Target.Column + 1).Value Then HitFlg = True Exit For End If Next i If HitFlg = False Then MsgBox "該当行が見つからない" Exit Sub End If Hyperlinks.Add Anchor:=Cells(Target.Row, Target.Column - 1), Address:="", SubAddress:= _ "C" & Format(i, "0"), TextToDisplay:="クリック" End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
ここへ質問しなくても、Googleで「vba followhyperlink」で照会すれば、関連記事がたくさん出るのではないか?
- kkkkkm
- ベストアンサー率66% (1719/2589)
A1が選択されたらB1に入力されているものと同じ数字先のC列に飛ぶということでいいでしょうか。 該当するシートのシートモジュールに Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim Fr As Range If Target.Address <> Range("A1").Address Then Exit Sub End If Set Fr = Range("C:C").Find(What:=Range("B1").Value, LookIn:=xlValues, lookat:=xlWhole) If Not Fr Is Nothing Then Fr.Select Else MsgBox "見つかりません" End If End Sub