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

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

Author: Sun Last Modified: 2025-05-23

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 アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ15のツールセット12 のテキストツール (テキストの追加, 特定の文字を削除, ...)  |  50以上 のグラフ の種類 (ガントチャート, ...)  |  40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...)  |  19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...)  |  12 の変換ツール (単語に変換する, 通貨変換, ...)  |  7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...)  |  ...さらに多く

Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、300以上の高度な機能を提供し、生産性を向上させ、保存時間を節約します。  最も必要な機能を入手するにはここをクリック...


Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします

  • Word、Excel、PowerPoint、Publisher、Access、Visio、Projectでタブ付きの編集と読み取りを有効にします。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを減らします!