メインコンテンツへスキップ

Excel: 壊れたリンクを修正する方法

Author: Sun Last Modified: 2025-08-06

Excelでは、他のワークブックへのリンクが関連情報を参照するために頻繁に使用されます。しかし、ソースとなるワークブックの名前が変更されたり、別の場所に移動されたりすると、これらのリンクが壊れ、エラーが発生することがあります。このチュートリアルでは、Edit Links機能を使用する方法やVBAコードを使用する方法など、2つの効果的な方法を提供し、ワークブック内の壊れたリンクを迅速に特定して修正します。

Edit Linksを適用して壊れたリンクを修正

VBAコードを使用して壊れたリンクを修正


Edit Linksを適用して壊れたリンクを修正

Excelでは、Edit Linksダイアログを開いて、それらを1つずつ修正できます。

1. 壊れたリンクを含むワークブックを有効にし、クリックします データ > リンクの編集クエリと接続 グループ内)。
A screenshot of the Edit Links option under the Data tab in Excel

2. リンクの編集 ダイアログで、「 ステータスの確認 」をクリックして、どのリンクが壊れているかを見つけます。
A screenshot of the Edit Links dialog with the Check Status button highlighted A screenshot of the Edit Links dialog showing link status

3. 次に、壊れたリンクをクリックし、その後「 ソースの変更 」ボタンをクリックします。「 ソースの変更 」ウィンドウで、正しいソースとなるワークブックを選択し、「 OK.
A screenshot of the Change Source dialog for fixing broken links in Excel

」をクリックします。これで、ステータスが「 エラー 」から「 OK」に変わったことが確認できます。ステップ3を繰り返して、他の壊れたリンクも修正します。
A screenshot of the Edit Links dialog with the link status updated to OK


VBAコードを使用して壊れたリンクを修正

このセクションでは、壊れたリンクを修正するためのVBAコードを紹介します。

1. 修正したい壊れたリンクを持つワークブックを有効にし、Alt + F11キーを押します。

2. 表示される Microsoft Visual Basic for Applications ウィンドウで、「 挿入 > モジュール 」をクリックして新しい空白モジュールを作成します。
A screenshot showing the VBA editor in Excel with a new module added

3. 下記のコードを新しいモジュールにコピーして貼り付けます。

VBA: 壊れたリンクを修正

Sub ResetInvalidLinks()
'UpdatedbyExtendoffice20220701
Dim xWB As Workbook
Dim xLks As Variant
Dim xFNum, xStatus As Integer
Dim xStrLk, xLinAddress As String
Dim xF
Dim xLk
Set xWB = Application.ActiveWorkbook
xLks = xWB.LinkSources(xlExcelLinks)
If IsEmpty(xLks) Then
    MsgBox "Select updated source"
    Exit Sub
End If
On Error Resume Next
For xFNum = LBound(xLks) To UBound(xLks)
    xStrLk = xLks(xFNum)
    xStrLk = Right(xStrLk, Len(xStrLk) - InStrRev(xStrLk, "\"))
    xStatus = ActiveWorkbook.LinkInfo(xStrLk, xlLinkInfoStatus)
    If xStatus <> 0 And xStatus <> 3 Then
        MsgBox xStrLk & " the link is broken, please select new source"
        xF = Application.GetOpenFilename()
        If xF <> "" Then
            For Each xLk In ActiveSheet.UsedRange.Hyperlinks
                xLinAddress = Right(xLk.Address, Len(xLk.Address) - InStrRev(xLk.Address, "\"))
                    If InStr(xStrLk, GetAddress) <> 0 Then
                        ActiveSheet.Hyperlinks.Add Anchor:=xLk.Range, Address:=xF
                    End If
            Next
            ActiveWorkbook.ChangeLink xLks(xFNum), xF, xlLinkTypeExcelLinks
        End If
        End If
    Next
End Sub

4. F5 キーまたは「 実行 」ボタンを押します。Run button これにより、コードがアクティブになり、壊れたリンクがあるかどうか検索します。もしあれば、どのリンクが壊れているかを知らせるダイアログが表示されますので、新しいソースを選択してください。「 OK 」をクリックして続行します。
A screenshot of a dialog displaying which link is broken

5. 開く ウィンドウで更新されたソースを選択し、「 OK.
A screenshot of the Open dialog for selecting a new source file in Excel

」をクリックします。もしワークブック内にまだ壊れたリンクがあれば、上記のダイアログが再度表示され、すべての壊れたリンクが修正されるまで続きます。

注意:ワークブック内に壊れたリンクがない場合、VBAは実行後に停止します。

ヒント:すべての余分なリンクを表示し、壊れたリンクを解除したい場合は、 Kutools for Excelリンクを検索して解除する 機能が役立ちます。
A screenshot of the Kutools Find and Break Broken Links feature

この機能についてさらに詳しく学ぶには、詳細なチュートリアルをご覧ください

Kutools for Excel - 必要なツールを300以上搭載し、Excelの機能を大幅に強化します。永久に無料で利用できるAI機能もお楽しみください!今すぐ入手


その他の操作(記事)

シート内の背景色を固定/ロックするにはどうすればよいですか?
他人とシートを共有して編集させる場合、特定範囲のセルの背景色をロックして変更されないようにしたいことがあります。

Excelファイルサイズを減らすにはどうすればよいですか?
Excelファイルが大きすぎると、開いたり保存したりするのに数分かかることがあります。この問題を解決するために、このチュートリアルでは、不要または使用されていないコンテンツや書式を削除することでExcelファイルサイズを縮小する方法を説明します。

Excel: ブックマークを作成または挿入する方法
大量のデータが含まれているワークシートやワークブック内で、特定のデータ範囲に素早くジャンプできるようにブックマークを作成または挿入することを想像したことはありますか?

Excelで奇数または偶数(交互)の行/列にシェーディングを適用するにはどうすればよいですか?
ワークシートを設計する際、多くの人は視覚的に分かりやすくするために、奇数または偶数(交互)の行または列にシェーディングを適用することがあります。この記事では、Excelで奇数または偶数の行/列にシェーディングを適用する2つの方法を紹介します。

最高のオフィス生産性ツール

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ15ツールセット12 種類のテキストツールテキストの追加特定の文字を削除など)  |  50 種以上のグラフ タイプガントチャートなど)  |  40を超える実用的な 数式誕生日に基づいて年齢を計算する、など)  |  19種の 挿入ツールQRコードの挿入パスから画像の挿入など)  |  12種類の 変換ツール単語に変換する通貨変換など)  |  7つの 結合&分割ツール高度な行のマージセルの分割など)  |  ...さらに多数
お好きな言語でKutoolsを使用できます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上に対応!

Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...


Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます

  • Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
  • 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
  • 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!