- ベストアンサー
エクセルを開くときにリンク表示を外すにはどうしたらいいでしょうか?
リンクされているエクセルファイルを開くと ほかのブックにリンクされていますと表示されますが, リンクの外し方を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
手作業で削除する方法と、マクロにより一発で削除する方法を紹介します。 手作業の場合であって、どのシートのどのセルで参照しているか解らないと いうのであれば、一応確認し易いように Ctrl + Shift + ` (@キー) で数式を表示させ メニューから[編集]-->[検索]で「検索する文字列」に \[ を入力し、 [置換]を押し、「置換後の文字列」に何も入れないで「次を検索」を押します。 見つかったら内容を確認しながら[置換]を繰り返し実行します。 「見つかりません」が出たら、また Ctrl + Shift + ` (@キー) で戻します。 これを全てのシートで実行します。 次にメニューから[挿入]-->[名前]-->[定義]で、「参照範囲」が他ブックになっている 名前があれば、その名前を削除します。 ◎ 上記の操作をマクロにより、一発で自動削除する方法 上記の操作が面倒な場合は、次の操作で一発で他ブック参照が、解除されます。 ・ いずれかのシート名タブを右クリックして「コードの表示」を指定し、 開いたコードウィンドウに下記コードをコピーして貼り付けます。 ・ 貼り付けたコード内(1行目とか)にカーソルがある状態で、F5キーを押します。 ・ これで、他ブック参照が全て解除になりますので、今貼り付けたコードを全て削除 してから、右上の×で閉じ、シートに戻ります。 これで完了です。 まぁ、これで大抵は、解除されると思いますが、如何でしょうか? Sub 他ブック参照解除() Dim Sh As Worksheet Dim Nm As Name Dim Rng As Range Dim Msg As String Dim N As Integer For Each Sh In Worksheets Set Rng = Sh.Cells.Find(".xls]") If Not Rng Is Nothing Then Do N = N + 1 Msg = Msg & Sh.Name & "-" & _ Rng.Address(False, False) & vbNewLine Rng.Formula = "" Set Rng = Sh.Cells.FindNext Loop Until Rng Is Nothing End If Next Sh For Each Nm In ThisWorkbook.Names If InStr(Nm, ".xls]") > 0 Then N = N + 1 Msg = Msg & "名前 = " & Nm.Name & vbNewLine Nm.Delete End If Next Nm If N > 0 Then MsgBox N & "箇所のリンクを解除しました。" & vbNewLine & _ vbNewLine & Msg, , "検索完了" Else MsgBox "他ブックのリンク設定は、見つかりませんでした。", , "検索完了" End If Set Rng = Nothing End Sub
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
メッセージダイアログが出なければよいのでは? [幽霊リンク]を削除する場合とは違うような気がしますね。 ツール-オプション-編集 リンクの自動更新前にメッセージを表示する のチェックを外します。
お礼
ありがとうございます。 参考にさせていただきます。
- phoenix343
- ベストアンサー率15% (296/1946)
その文書と言うのは別ファイルからコピーしたものじゃないですか? とりあえず対処法を以下に示します。「リンク式を解除したい」を見てください。 Excel 小技集 http://www.yoshikawa.com/skilup/ybs2010.htm
お礼
ありがとうございます 参考になりました。
お礼
ありがとうございました。 最初の方法で,削除できました。