[PR]ネットとスマホ OCNでまとめておトク!

「開いているブックには他のファイルへの自動リンクが設定されています。このブックを更新し、他のブックへの変更を反映しますか」といったメッセージが表示されますが、リンクを設定した記憶はありません。編集メニューでリンク先を確認するとすでにリンク先のエクセルファイルは削除済になっています。「編集」「検索」ですでになくなっているファイル名を全てのシートで検索しても「見つかりません」となってしまいます。質問No.1322325 05-04-10 回答者ja7awuさんのマクロでもリンク解除できませんでした。解除方法をご存知の方は教えてください。

このQ&Aに関連する最新のQ&A

アンサープラス

下記のサイトでは、ブック内の外部リンクを検索する方法が紹介されています。



・ブック内の外部参照 (リンク) を検索する - Excel
https://support.office.com/ja-jp/article/%E3%83% …

また、下記サイトでは、リンクを解除する方法が紹介されていますので、参考にしてみてください。
どちらも近年のバージョン(Excel2007・2010・2013・2016)に対応しています。

・Excel で外部参照へのリンクを解除する - Excel
https://support.office.com/ja-jp/article/Excel-% …

A 回答 (6件)

なかなかうまくいかないようですね・・・。



私の場合、検索でも見つからなかったので、コピーしたブックを使って、シートを一枚ずつ削除(または、全てクリア)し保存・開く、を繰り返して参照のあるシートを特定し、該当シートが見つかったら、転記された可能性がある式の部分削除を削除しながら、幽霊の存在を探して、式の入ったセル(範囲)を特定してから、元のシートの式を修正しました。

この場合、どのセルにも他のブックへのリンクは設定されていませんでしたが、エクセルの内部に変な情報が残っていたのが原因かと思います。

どうしてもだめなら、上記のように不正なセルを特定して削除するしか無いと思います。
    • good
    • 12

このようなことを書くのは心苦しいのですが、


ja7awu さんの
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1359989
の#2 には、
 Set Rng = Sh.Cells.Find(".xls]")
としかありません。これは、現在設定されている、検索オプションのままで使うという設定です。検索が値に設定されていたら、見つかりません。通常は、すべて、Findメソッドのオプションをマクロに入れなくてはならなかったはずですが……。

とりあえず、ダメもとで、こちらのマクロもためしてみてください。ダメだったら、他に考えます。

'<標準モジュール>に登録してから、ReferenceFormulaSearch を実行してください。
'------------------------------------------
Private i As Long
Sub RefrenceFormulaSearch()
Dim wsh As Worksheet
Dim j As Long
 For Each wsh In ActiveWorkbook.Worksheets
  Call SearchRefFormula(wsh)
  Call SearchRefShapes(wsh)
  With ActiveWorkbook
  For j = 1 To .Names.Count
  If InStr(.Names(j).RefersTo, ".xls]") Then
   .Names(j).Delete
   i = i + 1
  End If
Next j
End With
 Next wsh
 MsgBox i & " 個処理しました。"
End Sub
Private Sub SearchRefFormula(ByVal wsh As Worksheet)
Dim myFirstAdd As String
Dim c As Range
Const myFind As String = ".xls]"
  With wsh.UsedRange
   Set c = .Find(myFind, LookIn:=xlFormulas, LookAt:=xlPart)
  If Not c Is Nothing Then
   myFirstAdd = c.Address
   Do
    c.Value = c.Value
    i = i + 1
    Set c = .FindNext(c)
   Loop Until c Is Nothing
  End If
  End With
End Sub
Private Sub SearchRefShapes(ByVal wsh As Worksheet)
 Dim j As Long
 With wsh
  For j = 1 To .Shapes.Count
   With .Shapes(j)
     If .DrawingObject.Formula <> Empty Then
      .DrawingObject.Formula = Empty
      i = i + 1
     End If
   End With
  Next j
 End With
End Sub

'------------------------------------------

この回答への補足

連絡遅くなってすみません。まず私はWin2000、エクセル2000を使用しています。上記に「<標準モジュール>に登録してから、ReferenceFormulaSearch を実行してください。」とありますがよくわかりません。「コードの表示」を指定して「Private i As Long」以下をコピーして貼り付け、コード内で「F5」キーを押すと「実行時エラー'438'オブジェクトは、このプロパティまたはメソッドをサポートしていません。」となってしまいました。また別のPC(サーバ)のエクセル2003でファイルを開くとリンクのメッセージは表示されなくなります。

補足日時:2005/05/15 22:39
    • good
    • 4

編集→リンクの設定→リンクの解除 で出来ませんか?


もし出来ないとすると「名前」というやつが引っかかってるかもしれません。
挿入→名前→定義 で見て、訳のわからないものがあったら削除してみてください。

この回答への補足

ご連絡遅くなってすみません。私のエクセルは2000なので「リンクの解除」はありません。定義でわけのわからないものを削除ということですが、ここには何か表示されているのですか?また、リンクに表示されているようなものはありませんでした。

補足日時:2005/05/15 22:34
    • good
    • 6

>質問No.1322325 05-04-10 回答者ja7awuさんのマクロでもリンク解除できませんでした。



これは、検索で見つかる場合には有効です。
今回のように検索しても見つからない場合は、リンクを削除できません。

どこにもリンクが無い場合、[編集]-[リンクの設定][リンク元の変更]でリンク先のブック名を開いているブックに変更すると消えるはずです。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=68598 …

この回答への補足

ご連絡遅くなってすみません。「ブック名を開いているブックに変更する」を実行しようとすると、「数式に不正な外部参照が含まれています。パス、ブック、範囲名、またはセル参照が正しいがどうか確認し、再度実行してみてください。」となってしまいました。
エクセル2000を使用しています。

補足日時:2005/05/15 22:49
    • good
    • 2

no1です。


書き漏らしました。
新規のファイル名は当然リンクに指定されているファイル名です。
複数のリンク先があれば同様に複数のファイルを作る必要が、あります。
    • good
    • 0

セルには目安になるような文字をいれて新規のファイルを作成して、


リンク先に指定されているフォルダに保存します。
その後、修正すべきファイルを開けば、リンク設定されているところに、
目安とした文字が出てきますので、その部分を修正して「編集」にて
リンク先が消えた事を確認して保存します。
新規に作成したファイルは不要となるので、削除しておしまいです。

この回答への補足

ご連絡遅くなってすみません。リンク先に指定されているフォルダに同様のエクセルファイルを作成してA1セルに「@@@」と入力してみましたが、どこにも「@@@」は表示されませんでした。リンクを開くでは新しいファイルを認識しています。エクセルは2000です。

補足日時:2005/05/15 22:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルのリンク解除ができない場合の対処

症状としては、時々ある事なのですが、エクセル(2003)でファイルのリンクを
編集→リンクの設定→リンクの編集→リンクの解除
をしても解除されない症状を解決するにはどうしたらよいでしょうか?
因みに外部リンクで、sumifやvlookupなどを使用しています。
また、列の非表示や、ソートでの行の非表示などはよく多用しています。
上記が起因しているかどうかは不明です。
ご存知の方いらっしゃいましたら、是非ご教授お願いします。

Aベストアンサー

名前の定義の中の参照範囲にリンク先が含まれていませんか。

エクセル2003は使っていないので、エクセル2000の場合を説明します。

「挿入」→「名前」→「定義」の「参照範囲」を確認して、リンクが含まれていれば削除して見て下さい。

リンクが含まれて無ければ、別問題ですので他の方の回答を待って下さい。

QExcelの外部リンク完全削除は?

Excel2000を利用しています。

複数のExcelブックを同一外付けドライブの同一フォルダで使用して、外部参照の式を組んでリンクさせています。「編集」→「リンクの設定」を開くと、いろんなリンクが貼られているのが分かります。当然ですね。

ただ外部リンクを削除したいときに完全な削除ができません。ブック全てを選択して値貼り付けを行っても、(数式が消えたにもかかわらず)リンクが残ってしまいます。開くときに「・・・ほかのファイルへの自動リンクが設定されています・・・」と一々ダイアログボックスが出てきます。確かに「リンクの設定」を見るとリンクが残っています。煩わしいので、何とか消したいのです。リンク元であったファイル名などで検索をかけても、(数式を消したので当然ですが)ヒットしないので、個別に削除することも出来ません。

現時点では以下の方法で対処しています。
1.シート全体を選択してコピー
2.新規ブックを開き、シート全てを選択して値貼り付け
このように完全に新しいブックを作るという方法を取っています。これだと、余白などのページ設定をやり直さなければなりません。はっきりいって面倒です。

新しいブックに移行することなく、(数式を伴わない幽霊のような)リンクだけを解除する方法はありませんか?類似の質問はいくつかあるようなのですが、どれも解決につながっているようには思えないので、新たに質問させてもらいました。

ご存知の方よろしくお願いします。

Excel2000を利用しています。

複数のExcelブックを同一外付けドライブの同一フォルダで使用して、外部参照の式を組んでリンクさせています。「編集」→「リンクの設定」を開くと、いろんなリンクが貼られているのが分かります。当然ですね。

ただ外部リンクを削除したいときに完全な削除ができません。ブック全てを選択して値貼り付けを行っても、(数式が消えたにもかかわらず)リンクが残ってしまいます。開くときに「・・・ほかのファイルへの自動リンクが設定されています・・・」と一々ダイアログボック...続きを読む

Aベストアンサー

こんにちは。maruru01です。

すでにご覧になったかも知れませんが、以下のページを見てみて下さい。

http://homepage2.nifty.com/housaka/kitan01.html#7

参考URL:http://homepage2.nifty.com/housaka/kitan01.html#7

Qエクセル 自動リンクの解除方法

エクセルを開くと下記のように表示されます。
「開いているブックには、ほかのファイルへの自動リンクが設定されています。・・・」
で、その自動リンクを解除したいのですが、どのようにすればよいでしょうか。
一応、ツールバーの「編集」→「リンクの設定」で解除できるかなと思ったのですが、それだと「いますぐ更新」「リンク元を開く」「リンク元の変更」しか設定できません。
officeは2000です。2003のPCもあるので、どちらでも変更できます。

どなたか、わかる方いらっしゃいましたら、教えてください。

Aベストアンサー

Office2003(XP以降)なら「編集」→「リンクの設定」→「リンクの解除」で値化できます。

Office2000以前の場合はそのような機能はないので
該当するセル(行又は列単位)をコピーして「編集」「形式を選択して貼り付け」で「値」で「OK」
これで数式を値化(リンクの解除)出来ます。

QEXCEL2013外部へのリンクが解除できません

EXCEL2013起動時に
”このブックには、安全ではない可能性のある外部ソースへのリンクが1つ以上含まれています。
リンクを信頼できる場合、リンクを更新して最新データを取り込みます。信頼出来ない場合は、データをそのまま手元で処理してかまいません。”
上記が出るので、データ→リンクの編集→リンクの解除をするのですが、リンクが消えてくれません
リンクを解除する事は出来ないのでしょうか?

特に外部にリンクをする必要は無いブックなのですが、作成時に他のブックのセル設定等をコピペして作成していました。その際に操作を誤ってリンクとなったのではと思います

お分かりになられる方が居られましたらご教授をお願い致します。

Aベストアンサー

探してみましたが
http://menushowdelay.blog.fc2.com/blog-entry-2481.html

>●外部 Excel Book へのリンクを全て値に変換する方法
のようにマクロでぜんぶ一気に削除する方法くらいしか見つかりませんでした。
必要なリンクも削除される可能性があるのですが、
>特に外部にリンクをする必要は無いブック
ということなら試してみるのもいいと思います。

QEXCELの外部リンクの解除方法

 EXCELL2000を使っています。OSはWindows XPです。

 あるブックで、これを開くとき、いつの頃からか分からないのですが、「開いているブックには、ほかのファイルへの自動リンクが設定されています。・・・・」とういメッセージが出るようになりました。
 開こうとするブックで 「リンクの設定」を見ると確かに他のブックにリンクがかかっているようですが、このブックへのリンクを張るような数式またはマクロを書いた記憶がありません。
 このリンクを解除する方法があるようですが、Microsoftなどのサイトに見る説明はよく理解できません。

 そこで、
1.リンクのかかっている数式またはマクロなどのありかを知る方法はあるのでしょうか?
2.リンクを強制的に解除するにはどういう手順を踏めばよいのでしょうか?
の2点についてご教示いただきたいと思います。

Aベストアンサー

http://support.microsoft.com/default.aspx?scid=kb;ja;402643
[XL2000]ブック間のリンクを変更する方法および解除する方法

Excel 2000 で他のブックとのリンクを解除する方法
http://support.microsoft.com/kb/880959/JA/

上記に出て来ますが、リンク(lnk)ファイルの残骸だけの場合も、リンク先は見当たらなくなります。

以下に、幽霊リンクバスターズ
http://hp.vector.co.jp/authors/VA016119/kitan01.html#7

というものがあります。私自身も、幽霊リンクの検索マクロを作ったことがあります。
とても、人間の目では探すのは不可能です。例えば、図形の中にリンクを貼ったりして、それを見えない状態にしたりすると、見当たらないリンクが残ります。マクロでないと探すのは困難です。

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

QSUMIFS関数でOR条件を使いたい場合の関数

Excel2010を使用しています。
家計簿を作成しているのですが、SUMIFS関数でOR条件を使用したい場合どのように書けばよいでしょうか。

図は、明細と合計欄です。
ピンクのセルが円、それ以外はドルです。
合計欄のように、円とドルをそれぞれ分けて項目毎の合計額を出したいです。
セルE21のように、円の場合は「MUFJ」「ゆうちょ」ですので、MUFJとゆうちょのSUMIFS関数合計値を足しています。
これを、1行にまとめたいのですが、適切な関数はないでしょうか?
SUMIFSではOR条件が使えないようですので・・・・・・

明細行に円・ドルの列を追加すれば簡単なのですが、明細行の列はこれ以上増やしたくないので、できれば数式のほうで処理できればと思っています。

よろしくお願いいたします。

Aベストアンサー

例示のデータなら以下のような数式になります。

=SUM(SUMIFS($C$2:$C$14,$D$2:$D$14,{"MUFJ","ゆうちょ"},$B$2:$B$14,B21))


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング