📘 Excel逆引き事典

【VBA】ハイパーリンクを確認メッセージを出さずに抽出する方法

手作業でハイパーリンクの情報を抜き出すのは時間がかかります。この記事では、VBAを使って効率的にハイパーリンクを抽出し、確認メッセージが出ることなくスムーズに業務を進めることができます。

サンプルコード

VBA
Option Explicit
Sub ExtractHyperlinks()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' 確認メッセージの表示をオフにする
    Application.DisplayAlerts = False
    
    ' 画面更新を停止して処理速度を向上させる
    Application.ScreenUpdating = False
    
    Dim lastRow As Long, i As Long
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    For i = 1 To lastRow
        If ws.Hyperlinks(i) Is Nothing Then Exit Sub ' ハイパーリンクが存在しない場合終了
        Debug.Print ws.Hyperlinks(i).Address ' デバッグ用出力(実際の業務ではセルに書き込む等)
    Next i
    
    Application.DisplayAlerts = True ' 確認メッセージの表示をオンに戻す
    Application.ScreenUpdating = True ' 画面更新を再開する
End Sub

よくある質問

Q 元に戻せますか?

A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。

Q エラーが出たら?

A.
シート名や列番号が正しいか確認してください。