エクセルのVBマクロでセルにリンクを設定

エクセルでセルにリンクを設定するVBマクロ。一シート目に文書IDの一覧、二シート目以降に一文書ID一シートとしている場合に使える。一シート目のD1〜D150に文書IDが一覧されている場合にそのセルにシート間リンクを設定する。

Hyperlinks.Addの引数は

  • Anchor 設定対象範囲(オブジェクト、選択範囲など)
  • Address ?
  • SubAddress リンク先のURL(ブック内の"シート名!セル名"など)
  • TextToDisplay 表示するラベル文字列。
Sub SetLink2Cell()
    '文書IDのセルにシートへの列を自動設定する。
    'i=150の部分は行が増えたらずらす。
    For i = 1 To 150
        Dim StrLabel As String
        Range("D" & i).Select
        StrLabel = Range("D" & i)
        ActiveSheet.Hyperlinks.Add Anchor:=Selection,  _
          Address:="", _
          SubAddress:= StrLabel & "!A1", _
          TextToDisplay:=StrLabel
    Next
End Sub