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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Sun Last modified

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:データ分析を革新します。主な機能:Intelligent Executionコード生成カスタム数式の作成データの分析とグラフの生成Kutools Functionsの呼び出し……
人気の機能重複の検索・ハイライト・重複をマーキング空白行を削除データを失わずに列またはセルを統合丸める……
スーパーLOOKUP複数条件でのVLookup複数値でのVLookup複数シートの検索ファジーマッチ……
高度なドロップダウンリストドロップダウンリストを素早く作成連動ドロップダウンリスト複数選択ドロップダウンリスト……
列マネージャー指定した数の列を追加列の移動非表示列の表示/非表示の切替範囲&列の比較……
注目の機能グリッドフォーカスデザインビュー強化された数式バーワークブック&ワークシートの管理オートテキスト ライブラリ日付ピッカーデータの統合セルの暗号化/復号化リストで電子メールを送信スーパーフィルター特殊フィルタ(太字/斜体/取り消し線などをフィルター)……
トップ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%向上し、毎日のマウスクリック数を何百回も削減!

全てのKutoolsアドインを一つのインストーラーで

Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。

Excel Word Outlook Tabs PowerPoint
  • オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
  • 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
  • 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
  • 30日間フル機能お試し —— 登録やクレジットカード不要
  • コストパフォーマンス最適 —— 個別購入よりお得