• ベストアンサー

EXCELのシートをまたぐ場合

ゴールシークやシナリオ、テーブルの機能は、複数のシートにわたって関数が組んである場合には使用できないのでしょうか?エラーメッセージが出てしまい困っています。 もう既に、複数のシートにわたって関数を組んでいるので作り直すのは非常に大変なのですが、何か良い方法はないのでしょうか? 「シート1」にある数字を入力すると「シート3」でその答えが出るようにしてあります。

質問者が選んだベストアンサー

  • ベストアンサー
noname#95859
noname#95859
回答No.1

小生全く、わかっていないのですが、ためしにやってみました。シート1のB3に,式「=Sheet2!B4*3」をいれて、ゴールシークのダイアログで、目標値を1、変化させるセルは、当然「Sheet2!B4」で、実行で、何の問題も無く結果はでました。これより、ゴールシークは、シートをまたいでも、問題はないということが、わかりました。一方で、マクロの記録を見ると、 Range("B3").GoalSeek Goal:=1, ChangingCell:=Sheets("Sheet2").Range("B4") ですので、シートをまたぐ仕組みは出来ています。 問題は、式が、多分、循環参照みたいになっているのではないかと想像します。マクロの記録を見ても、式そのものは、入っていません。式を見直すということは、答えにならないでしょうか?

shunshun-dash
質問者

お礼

有難う御座います。 原因が分かりました。 シートをまたぐ場合、テーブルを作成するシートは代入するシートにテーブルを作成しないといけないと言うことですね。 テーブルを別のシートに作成するとうまくいかないようです。

shunshun-dash
質問者

補足

「テーブル」機能のほうはではどうでしょうか? 式そのものは循環にはなっていないと思います。試しに簡単なシートをまたぐ関数を組んで再度実験してみましたが、どうしてもテーブルがうまくいきません。このときも、同一内のシートならうまくいきました。 ちなみに、ゴールシークはうまくいきました。 でも、テーブルだけうまくいかないってことはないですよね?私のやり方がまずいのでしょうけど。

関連するQ&A