ハイパーリンクから処理を分岐する
<分類:ハイパーリンク制御>
<使用例:ハイパーリンクがクリックされた座標によって処理を分岐する>
<注意:サンプルデータを作成するプログラムになっていますので、Sheet1は何もデータがないシートをご用意ください>
<プログラム例>
Sub 使用例() Worksheets("Sheet1").Hyperlinks.Add Anchor:=Cells(1, 1), _ Address:=" ", SubAddress:=Worksheets("Sheet1").Name & "!A1", _ TextToDisplay:=Worksheets("Sheet1").Name & "行1列1" Worksheets("Sheet1").Hyperlinks.Add Anchor:=Cells(2, 2), _ Address:=" ", SubAddress:=Worksheets("Sheet1").Name & "!B2", _ TextToDisplay:=Worksheets("Sheet1").Name & "行2列2" Worksheets("Sheet1").Hyperlinks.Add Anchor:=Cells(3, 3), _ Address:=" ", SubAddress:=Worksheets("Sheet1").Name & "!C3", _ TextToDisplay:=Worksheets("Sheet1").Name & "行3列3" End Sub '貼り付け場所注意:VBAProjectのMicrosoft Excel ObjectのThisWorkbookに記述 Private Sub Workbook_SheetFollowHyperlink(ByVal sh As Object, ByVal Target As Hyperlink) Select Case left(Target.Name,6) Case "Sheet1" Select Case ActiveCell.Row & "," & ActiveCell.Column Case 1 & "," & 1 MsgBox "行1列1の処理" MsgBox ActiveCell.Column MsgBox ActiveCell.Row MsgBox ActiveCell.Address Case 2 & "," & 2 MsgBox "行2列2の処理" MsgBox ActiveCell.Column MsgBox ActiveCell.Row MsgBox ActiveCell.Address Case 3 & "," & 3 MsgBox "行3列3の処理" MsgBox ActiveCell.Column MsgBox ActiveCell.Row MsgBox ActiveCell.Address End Select Case Else End Select End Sub