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

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

。影響を与えるワークブックを開きます。

。 [編集]メニューから[リンク]オプションを選択します。 Excelに[リンクの編集]ダイアログボックスが表示されます。 (図1を参照)

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

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

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

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

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

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

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

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

。 Ctrl + Cを押します。

。 [編集]メニューから[形式を選択して貼り付け]を選択します。 Excelに[形式を選択して貼り付け]ダイアログボックスが表示されます。 (図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_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

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

このヒント(7537)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。