仕事を頑張る人のおしりトラブル対策

EXCELで「このブックには、ほかのデータソースへのリンクが設定されています。」と出る。

更新するかどうかを聞いてきますが自分ではリンクの設定をした覚えがありません。
ただ、他のEXCELファイルからコピーしてる事は多いので、その時に何かあったのでは
と思いますが見つかりません。
(一応、貼り付け時にリンクになってしまった時は置換を使って消してます)

編集のリンクの設定を見ると他EXCELファイル(一つ)とリンクしているように表示はされます。

編集>検索>ブック検索で「xls」や「ファイル名」「[」で検索してもヒットしません。
シート毎に同じ検索をしてもヒットしませんでした。

これは、どういうことなのでしょうか?
自分の検索方法が悪いのか、それとも別の理由があるのか・・・
何か判る方、どうかよろしくお願いします。

EXCELバージョン:2002 SP3

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

A 回答 (3件)

コピーしたときにリンクが設定されているので、リンク先のデータが今は変更されているかもしれないということです。



編集>検索>ブック検索で「xls」や「ファイル名」「[」で検索しても、リンク先はヒットしません。
シート毎に同じ検索をしても、リンク先はヒットしません。

ワークシート分析をしてみて下さい。

この回答への補足

>コピーしたときにリンクが設定されているので、リンク先のデータが~
これは、どういうことでしょうか。警告は出るけど特に問題は無いということでしょうか?

>ワークシート分析をしてみて下さい。
これはツール>ワークシート分析>ワークシート分析モードと言うものでしょうか?
分析モードにして検索し直してみましたが、ヒットしませんでした。

もし、何か判りましたら回答をお願いします。

補足日時:2010/08/30 16:51
    • good
    • 0

以下のページを参考にしてリンクの解除を行って見てください。



Excel 2003 でファイルを開くと "このブックには更新できないリンクが 1 つ以上含まれています。" というメッセージが表示される
http://support.microsoft.com/kb/882122/ja
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

このリンクの解除のやり方は知っていましたが解除したら元の関数が
値だけに変わってしまうのではないかという危惧があり試していませんでした。


少し前に作成した警告が出る前のファイルを作り直したところ警告が出なくなりました。
なので質問を閉じようと思います。
まとめてのお礼となってしまいますが、回答していただいた方ありがとうございました。

お礼日時:2010/08/31 10:59

http://support.microsoft.com/kb/826921/ja
Excel2002なら「編集」→「リンクの設定」からどのセルにどんなリンクが張られているかを探して下さい。
また、検索機能を使ってリンク特有の文字を探すことでセルを見つけ出すこともできます。
http://hp.vector.co.jp/authors/VA016119/kitan01. …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

しかし、そこのリンクは既に見た後だったので特に解決には繋がりませんでした。
わざわざ回答していただいたのに申し訳ないです。

お礼日時:2010/08/30 16:46

このQ&Aに関連する人気のQ&A

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

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

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

Qエクセルで誤ってほかのブックを参照しているセルを見つけ出すには

エクセルの2つのブックを結合してひとつのブックとして使っているのですが、開く都度「このブックにはほかのデーターソースへのリンクが含まれています。....」というメッセージが出ます。

メッセージが出るのは、計算式のセル参照が旧のブック名を参照してしまってるのが原因だとは、知っているのですが、膨大な行数、シート数のブック(3メガくらいの容量)ですので手作業で見つけて修正するのは大変困難で困っています。

何か、ブック全体から簡単におかしな参照をしている箇所を見つける方法はないのでしょうか。

一方のブックの改訂版がしばしば出されるためその都度、リンクした旧のブックから残りのシート部分をコピーして貼り付けるのですが、その都度 旧のブックを参照する計算式が残ってしまい、見つけて修正する作業に困っています。

Aベストアンサー

>ある二つのブックをシートのコピーで一つのブックにしているのですが、新しく連結した同じシート名のを参照してほしいのに[]つきでわざわざ旧のブック名を参照してしまうセルが残ってしまうのです。

No1です。

それであれば、メニューの「編修」、「リンクの設定」で、リンク先のブックを新しいブックに変更すればいっぺんに変更できますよ。

QEXCELの自動リンク箇所の確認と解除方法

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

Aベストアンサー

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

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

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

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

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

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

Aベストアンサー

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

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

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

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

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

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

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

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

Aベストアンサー

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

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

Qエクセル ほかのデータ ソースへのリンクが含まれています。

120シートほどあるエクセルブックを開いたときに『このブックには、ほかのデータ ソースへのリンクが含まれています。』の表示が出るようになりました。
関数式を他のブックからコピーしたりしていたので一部にリンクが残った状態になっているかもしれません。

『編集』から『検索』で調べようと思い『!』等をブック全体から検索しましたがそれらしいリンク箇所が発見できず困っています。

すばやくリンク箇所を見つける方法のアドバイスをよろしくお願いいたします。

Aベストアンサー

#2です。
解除したいリンク先を選択していますか?
選択していないと「リンクの解除」ボタンは使えないはずです。
解除したいリンク先を選択してから「リンクの解除」ボタンを押下すれば、
普通リンク先は解除されるはずです。
それでもできないようであれば、
一旦リンク先を別のファイルに設定してから、
再度リンクの解除を試みてください。
それでも駄目なら申し訳ありませんが、
この場ではちょっとわかりかねます。

QEXCEL VBAで計算値を四捨五入、切り上げ、切捨てする方法

ネットで探してみたのですが、計算結果を四捨五入して特定のセルを
返すにはどうしたらいいのでしょうか?

Sub hokangosa()

Dim ZPS As Double
Dim ZPOS As Double
Dim DMN As Double
MsgBox (" >>> 補間誤差自動計算 <<< ")
MsgBox (" >>> 初期値入力します <<< ")
ZPS = InputBox(">>> ステップを入力してください<<<")
ZPOS = Sheet1.Cells(22, 4).Value
DMN = ZPOS / ZPS
Sheet1.Cells(23, 6).Value = DMN
End Sub

ここでDMNの値を四捨五入したいです。

またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。

Aベストアンサー

DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0)
で、四捨五入
DMN = Application.RoundDown(ZPOS / ZPS, 0)
で切り捨て
DMN = Application.RoundUp(ZPOS / ZPS, 0)
で切り上げです。

引数で、対象桁を変更できます。

Q「ほかのデータソースへのリンクが含まれています。」→VBで操作

Excelを開いた時に、下記の画面が出ます
--------------------------------------------------
このブックには、ほかのデータソースへのリンクが含まれています。
・リンクを更新すると、Excelは更新のデータを取り込もうとします。
・リンクを更新しないと、以前の情報が利用されます。
□更新する、□更新しない、□ヘルプ
--------------------------------------------------
このファイルをACCESSのVBで操作、つまり
Set Xls = GetObject(myFile)
Xls.Application.windows(1).Visible = True
Xls.Application.Worksheets("Sheet1").Activate
と(Open)して、該当Cellを読もう、としています。
この時、上記のメッセージが出るのですが
□更新しない、にVBで答えるには、どうするんですか?
よろしくお願いします。

Excelを開いた時に、下記の画面が出ます
--------------------------------------------------
このブックには、ほかのデータソースへのリンクが含まれています。
・リンクを更新すると、Excelは更新のデータを取り込もうとします。
・リンクを更新しないと、以前の情報が利用されます。
□更新する、□更新しない、□ヘルプ
--------------------------------------------------
このファイルをACCESSのVBで操作、つまり
Set Xls = GetObject(myFile)
Xls.Application.windows(1).Visible = True...続きを読む

Aベストアンサー

Dim xlApp As Excel.Application
Dim xlBk As Excel.Workbook
Dim strFile As String
strFile = "C:\Sample\Book1.xls"
Set xlApp = CreateObject("Excel.Application")
Set xlBk = xlApp.Workbooks.Open(Filename:=strFile, UpdateLinks:=0)
With xlBk.Worksheets("Sheet1")
  Debug.Print .Cells(1,1)
End With
xlBk.Close False
xlApp.Quit
Set xlApp = Nothing
のように。

Qほかのデータソースへのリンクについて

excel2010を使用しています。
ファイルを開けると
「ほかのデータソースへのリンクが含まれています。」というメッセージがでます。

どのシートのどの部分が該当の場所なのかを調べるにはどうすればよいでしょうか?

よろしくお願いします。

Aベストアンサー

> excel2010を使用しています。
> ファイルを開けると
> 「ほかのデータソースへのリンクが含まれています。」というメッセージがでます。
> どのシートのどの部分が該当の場所なのかを調べるにはどうすればよいでしょうか?

下記URLの過去ログをご参照下さい。

「Ctrl+F」のショートカットキーなどで「検索と置換」ダイアログボックスを表示して、"["を検索するようです。

「EXCELのハイパーリンクのセルを探す方法」
http://oshiete.goo.ne.jp/qa/2081807.html

「このブックには、ほかのデータソースへのリンクが含まれています。 - nifty」
http://homepage1.nifty.com/silabel/excel/data_source_link.html

QEXCEL VBAで行う複数の検索条件に合致する行の個数のカウント方法について

すいません EXCEL VBAで教えていただきたいことがあります。
   A列  B列
1行:野菜  秋物
2行:果物  秋物
3行:穀物  夏物
4行:野菜  夏物
5行:野菜  春物
6行:穀物 秋物
7行:果物  夏物
8行:野菜  秋物
・・・以下300行まで続く

というデータがあるとして、A列が「野菜」、B列が「秋物」に合致する
行の合計個数をカウントするのはどうしたらよろしいんでしょうか。
関数だとデータベース関数を使えば何とかできそうな感じなのですが
VBAだと、どうもいいアイデアが浮かびません。よろしくお願いいたします。

Aベストアンサー

300行程度だとどれでもそんなに大きい差(処理時間)はありませんでした。
'=========================================================
Sub 例1()
  Dim c1 As String
  Dim c2 As String
  Dim ans As Long
  c1 = "野菜": c2 = "秋物"
  With Range("a1", Cells(Rows.Count, "a").End(xlUp)).Resize(, 2)
   ans = Evaluate("sumproduct((" & .Columns(1).Address & "=""" & c1 & _
            """)*(" & .Columns(2).Address & "=""" & c2 & """))")
   MsgBox c1 & "で" & c2 & "の数は " & ans
   End With
'私は、この手のことは、大抵これです
End Sub
'=========================================================
Sub 例2()
  Dim c1 As String
  Dim c2 As String
  Dim ans As Long
  ans = 0
  c1 = "野菜": c2 = "秋物"
  With Range("a1", Cells(Rows.Count, "a").End(xlUp)).Resize(, 2)
   With .Columns(3)
     .Formula = "=if(and(rc[-2]=""" & c1 & _
             """,rc[-1]=""" & c2 & """),1,"""")"
     If .Rows.Count = 1 And .Cells(1).Value = 1 Then
      ans = 1
     Else
      On Error Resume Next
      ans = .SpecialCells(xlCellTypeFormulas, xlNumbers).Count
      End If
     MsgBox c1 & "で" & c2 & "の数は " & ans
     .ClearContents
     End With
   End With
End Sub
'============================================================
Sub 例3()
  Dim c1 As String
  Dim c2 As String
  Dim crng As Range
  Dim ans As Long
  ans = 0
  c1 = "野菜": c2 = "秋物"
  For Each crng In Range("a1", Cells(Rows.Count, "a").End(xlUp))
   With crng
     If .Value = c1 And .Offset(0, 1).Value = c2 Then ans = ans + 1
     End With
   Next
  MsgBox c1 & "で" & c2 & "の数は " & ans
End Sub

300行程度だとどれでもそんなに大きい差(処理時間)はありませんでした。
'=========================================================
Sub 例1()
  Dim c1 As String
  Dim c2 As String
  Dim ans As Long
  c1 = "野菜": c2 = "秋物"
  With Range("a1", Cells(Rows.Count, "a").End(xlUp)).Resize(, 2)
   ans = Evaluate("sumproduct((" & .Columns(1).Address & "=""" & c1 & _
            """)*(" & .Columns(2).Address & "=""" & c2 & """))")
   MsgBox c1...続きを読む

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む


人気Q&Aランキング

おすすめ情報