一発で済む!Excelブック内のハイパーリンクのリンク先アドレスを一括置換する方法

一発で済む!Excelブック内のハイパーリンクのリンク先アドレスを一括置換する方法

Excelブック内にある複数のハイパーリンクのリンク先アドレスを一括で置換したい場合、手動で一つずつ変更するのは面倒ですよね。そんなとき、VBAを活用することで効率的に一括置換が可能です。この記事では、Excelブック内のハイパーリンクのリンク先アドレスを一括置換する方法をVBAを使って解説します。

VBAコードを用意する

以下のVBAコードを使って、Excelブック内のハイパーリンクのリンク先アドレスを一括置換できます。


Sub ReplaceHyperlinkAddressesInExcel()
    Dim ws As Worksheet
    Dim hLink As Hyperlink
    Dim oldAddressPart As String
    Dim newAddressPart As String

    ' 検索文字列の入力を求める
    oldAddressPart = InputBox("検索文字列を入力してください(例:http://)", "検索文字列")
    If oldAddressPart = "" Then Exit Sub

    ' 置換文字列の入力を求める
    newAddressPart = InputBox("置換文字列を入力してください(例:https://)", "置換文字列")

    ' ワークシートごとにループ
    For Each ws In ActiveWorkbook.Worksheets
        ' ハイパーリンクごとにループ
        For Each hLink In ws.Hyperlinks
            ' ハイパーリンクのアドレスを置換
            If InStr(1, hLink.Address, oldAddressPart) > 0 Then
                hLink.Address = Replace(hLink.Address, oldAddressPart, newAddressPart)
            End If
        Next hLink
    Next ws

    MsgBox "ハイパーリンクのリンク先アドレスの置換が完了しました。", vbInformation, "置換完了"
End Sub

このコードは、Excelブック内のすべてのワークシートにあるハイパーリンクのリンク先アドレスを一括置換します。操作手順は以下の通りです。

手順1:VBAエディタを開く

ExcelでVBAエディタを開きます。エディタを開くには、「Alt」キーと「F11」キーを同時に押してください。

手順2:VBAコードを貼り付ける

VBAエディタで「挿入」メニューから「標準モジュール」を選択し、新しいモジュールが開いたら、先ほどのVBAコードを貼り付けてください。貼り付けたらVBAエディタを閉じワークシートへ戻ります。

手順3:VBAコードを実行する

VBAコードを実行するには、Excelのワークシート上で「Alt」キーと「F8」キーを同時に押して、マクロのダイアログボックスを表示します。ダイアログボックスから「ReplaceHyperlinkAddressesInExcel」というマクロを選択し、「実行」ボタンをクリックします。

手順4:検索文字列と置換文字列を入力する

検索文字列の入力ダイアログが表示されたら、置換したいリンク先アドレスの一部を入力します(例:http://)。その後、置換文字列の入力ダイアログが表示されるので、新しいリンク先アドレスの一部を入力してください(例:https://)。

入力が完了すると、VBAコードが実行され、Excelブック内のすべてのハイパーリンクのリンク先アドレスが一括置換されます。最後に、「ハイパーリンクのリンク先アドレスの置換が完了しました。」というメッセージが表示されるので、「OK」ボタンをクリックして完了です。

まとめ

今回ご紹介したVBAコードを使えば、Excelブック内のハイパーリンクのリンク先アドレスを簡単に一括置換できます。作業効率をアップするために、ぜひこの方法を活用してみてください。

コメント

  1. 匿名 より:

    面倒な編集が一括で出来て感動しました
    ありがとうございました

  2. 黒猫の丹下 より:

    助かりました。
    感謝、感動、感激!!

  3. 193 より:

    本当にありがたいです。感謝いたします(^^)