Johnには、リンクが含まれているワークブックが多数あり、それらは非常に大きくなっています。彼は、Excelがリンクをそれらのリンクから取得したデータに変換して、古いワークブックをアーカイブできるようにする方法があるかどうか疑問に思います。

リンクを含むワークブックを開いてから、Excelのツールを使用してリンクを解除することをお勧めします。ブックのバックアップを必ず保持し(混乱した場合に備えて)、次の手順に従ってください。

。リボンの[データ]タブを表示します。

。 [リンクの編集]ツールをクリックし、[接続]グループ(Excel 2007、Excel 2010、またはExcel 2013)または[クエリと接続]グループ(Excel 2016以降のバージョン)をクリックします。 Excelに[リンクの編集]ダイアログボックスが表示されます。 (図1を参照)

。ダイアログボックスでリンクを選択します。

。 [リンクを解除]をクリックして、選択したリンクを本当に解除することを確認します。

。 [OK]をクリックします。

その結果、すべてのリンクが削除されますが、リンクを介して最後に取得された値はブックに残ります。

別のアプローチは、PasteSpecialを使用してリンクを「上書き」することです。

(これは、ワークシート内のリンクの数が限られている場合にうまく機能します。)

次の手順に従ってください:

。リンクを含むセルを選択します。

。 Ctrl + Cを押します。

。 [形式を選択して貼り付け]ダイアログボックスを表示します。 (リボンの[ホーム]タブで、貼り付けツールの下にある下矢印をクリックし、[形式を選択して貼り付け]を選択します。)

(図2を参照)

。 [値]ラジオボタンをクリックします。

。 [OK]をクリックします。

ブックにかなりの数のリンクがある場合は、マクロを使用してリンクを解除することをお勧めします。以下は、ブレークを実行するための単純なマクロの例です。

Sub BreakLinks()

Dim aLinksArray As Variant

aLinksArray = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)

Do Until IsEmpty(aLinksArray)

ActiveWorkbook.BreakLink Name:=aLinksArray(1), _           Type:=xlLinkTypeExcelLinks         aLinksArray = _           ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)

Loop End Sub

ただし、リンクには注意が必要な場合があることを覚えておくことが重要です。他のワークブックへのリンクは、数式、名前、グラフ、テキストボックス、その他のオブジェクト(表示と非表示の両方)、および数式とそれらのオブジェクト内のさまざまな組み合わせにすることができます。すべてのリンクを取得して解除するかどうかは、ブックの複雑さによって異なります。複雑なワークブックがある場合は、ExcelMVPのBillManvilleによって作成されたFindLinkアドインを使用するとメリットがあります。あなたはここでそれを見つけることができます:

http://www.manville.org.uk/software/findlink.htm

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(7566)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。