一覧のテキストに対応したシートへのハイパーリンクを追加するマクロ。
ブックの先頭に一覧(目次)があり、その後ろに詳細のシートがあるようなブックにリンクを追加するときに便利。
※ActiveSheetオブジェクトを使用しているので、実行中にマウス等で他のシートに切り替えないこと!!
Sub Macro2() ' ' ハイパーリンクを張るマクロ ' ' 一覧からそれに対応するシートにハイパーリンクを貼るマクロ ' ' ★の箇所はシートの形式に応じて書き換えること ' '★シート名を記述したカラムの位置を指定 iCol = 3 '★一覧の行を指定 For i = 2 To 210 Dim strText strText = ActiveSheet.Cells(i, iCol).Value 'セルの値が空白の場合、リンクを追加しない if strText <>"" then 'リンクを追加 ActiveSheet.Hyperlinks.Add Anchor:=ActiveSheet.Cells(i, iCol), Address:="", SubAddress:= _ strText & "!A1", TextToDisplay:="" & strText end if Next End Sub
動作確認環境:Excel 2010