• ベストアンサー

エクセルのゴールシークを自動で連続して求めたい

ゴールシーク機能はとても便利ですが、 これを行うには、一回一回、ツールバーからこれを選択するか、 マクロを記録するなどして、実行ボタンを作成しなくては いけません。 これを自作関数化するなどして、エクセルを開いている間、 自動的に、連続して算出する ようなことは可能でしょうか。 いろいろと調べては見たのですが、どうしても 分かりませんでした。。 ご存知の方がいらっしゃいましたら、 是非ご教授ください。

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

  • ベストアンサー
  • NNAQ
  • ベストアンサー率56% (104/184)
回答No.1

ゴールシークのマクロは、 Range("数式入力セル").GoalSeek Goal:=目標値,ChangingCell:=Range("変化させるセル") なので、 A列に目標値、B列に数式を入力、C列を変化させるとすれば、 For i = 1 To 100 Cells(i, 2).GoalSeek Goal:=Cells(i, 1).Value, ChangingCell:=Cells(i, 3) Next こんな感じで自動化できると思います。

関連するQ&A

  • EXCEL ゴールシークの関数?

    EXCEL ゴールシークの関数? ゴールシークを画面操作をしなくて ゴールシーク機能を持つ 関数はありませんか? 無ければ 複合関数は? VBを使わないでEXCEL関数だけで 求める方法を探しています。

  • Excel ゴールシークについて

    Excelのゴールシーク機能について聞きたいことがあります。 普通に使いこなせてはいるのですが、ゴールシークで求める値が膨大な量で1回1回ゴールシークを開いて値を入力してとやっていては、らちがあかないのです。 セルでは黒十字を表示させてドラッグして一度に計算ができますが、ゴールシークでも同じようにたくさんの量を一度に計算することはできるのでしょうか。 教えてください。よろしくお願いします。

  • エクセルのマクロ、「ゴールシーク」繰返し文。

    エクセルのマクロで、 セル値[A1]が、範囲内(10から-10)に成るまで、 「ゴールシーク」を、10回だけ繰返す、 マクロ文を教えて下さい。 (変数セル[B1])

  • ゴールシークのVBAの質問

    お世話になります。ゴールシークのVBAの質問です。 ゴールシークの数式入力セルが”F25”・目標値が”150”・変化させるセルを”F18”とするゴールシークのルールとします。 コマンドボタンをクリックすると、上記で述べたゴールシークを自動で実行してくれ、その後F24の値が40以下なら「40%以下です。水を補給し液面を増やしてください。」とMsg Boxが出現し、OKボタンのみを表示させるVBAはどの様に組めば良いのでしょうか?

  • エクセルのゴールシークについて

     エクセルのゴールシークについて質問します。  実際に解が存在するにもかかわらず、計算式・目標値の条件によっては、解が求まらない場合があります。  私の場合、以下の計算を実行しましたが、解が求まりませんでした。 =SIN(ATAN(1/1500))-0.02^2*2000^2/(2*α+100)^(4/3)/(100*α)^2 変数>α 目標値>0.0 他の目標値では解が求まりました。  解決方法が分かれば教えてください。  よろしくお願いします。

  • マクロの自動化

    お世話になります。 このたびエクセルでマクロを利用してある計算をしようとしたところ、行き詰ってしまったので質問させてもらいます。 やろうとしている計算は定数が4つ、変数が1つの3次関数の変数をゴールシークをつかって解くというもので、ゴールシーク動作のマクロ化までは成功しています。 ちなみに一応式を書いておくと以下のような感じです。 変数:x 定数:a b c d ax^3+bx^2+cx+d=0 では何に行き詰っているのかというと、そのゴールシークマクロの自動化です。 私の目指す自動化というのは、定数部分abcdが変化した際に変数の解が自動で導き出されるというものです。 しかし、私が探して見つけた目指す自動化に近い自動化の方法はどれも 定数セル内が変更された際に自動で再計算を行うというものでした。 今回の私のエクセルでは、各定数を求めるまでに相当長い計算プロセスがあり 必要な数値の入力(数字)⇒別セルへリンク&計算⇒最終的な定数の算出 となっているため、最終的な定数の算出のセルでは例えば=A363などとなっているためセル内が変更されたとは見なされず、再計算をしてくれません。 また、最初の必要な数値の入力において数値が変化したときにマクロを自動で走らせようにも その数が多すぎてとても追いきれません。 分かりにくい質問となってしまったと思いますが、どなたか私が目指す自動計算の組み方を教えていただけないでしょうか。 もちろん、ゴールシークやマクロにこだわらず、自動で計算してくれる方法があるのであればそれでも構いません。 よろしくお願いいたします。

  • エクセルのマクロでゴールシークの繰り返し

    こんにちは。マクロ初心者です。 現在、エクセルのゴールシーク機能を繰り返し使うためにマクロを作っています。 下のプログラムでアクティブセルのゴールシークは行えるようになったのですが、これをアクティブセルが空白になるまで繰り返すことはできますか? できればiを使わないようにしたいのですが‥ ActiveCell.goalseek Goal:=ActiveCell.Offset(0, -1).Value, ChangingCell:=ActiveCell.Offset(0, -3).Range( _ "A1") ちなみに違う人が使っていた Do Until ActiveCell.Previous.Value = "" を使おうと思ったらパソコンが動かなくなってしまいました‥ 基本ができていない為にめちゃくちゃなことをしているのかもしれませんが、どうかアドバイスをお願い致します。

  • ExcelのPMTとゴールシーク

    Excelで分からない問題があります。 C8に借入額   ¥10,000,000 C9に期間    120 C10は利率ですが 空欄 C11に支払額   ¥83,333 が入力されています。C11には定期支払額を求める数式が入力されています。 そして、C11が「90000」になるようにゴールシークを使ってC10の値を求めよ。 というのが問題です。 先ず、C11にはPMT関数が使われていると思うのですが、どうしてマイナス表示ではないのか? そして、期間が120なので「月」と判断すると、利率も年利ではなく月にしなければならないのか? (単純に120で計算すると、-83,333になります。) 等を考えると、ゴールシークに行く前の段階でワケが分からなくなってしまいました。 どなたか分かり易く教えて頂けませんか。 よろしくお願いします。

  • ゴールシーク(マクロ)で型が一致しないと表示

    マクロ初心者です。 ゴールシークを調べると Range(”式の入ったセル”).GoalSeek Goal:=Range(”目標の入ったセル”), ChangingCell:=Range(”変化させるセル”) このような解説があったので、実際に Sub 熱伝導グラフ_ボタン17_Click() Worksheets(Sheet1).Range(S33).GoalSeek Goal:=Worksheets(Sheet1).Range(S32), ChangingCell:=Worksheets(Sheet1).Range(S25) End Sub 上を作成しマクロを実行したのですが、型が一致しませんというエラーが出ます。 何が原因なのか、またどのような対処が必要か教えてください。 作成したいゴールシークはS33の式中のS25を変化させることにより目標値S32になるS25を見つけるプログラムを作成したいと考えています。 よろしくお願いします。

  • どのファイルを開いた時もマクロを自動実行。エクセル

    新規にエクセルを開いたときだけマクロを自動実行するには、 personal.xlsで Sub auto_open() ' Macro1 Macro Range("A1").Value = "111" End Sub とすれば良いかと思いますが、 新規に開くどのファイルに対しても ファイル名ABC を含んでいる時だけ マクロを自動的に実行するにはどうしたらよいでしょうか? (ファイルを開いてから マクロボタンを押して マクロに”ファイル名を チェックしてA1にデータを書き込む”があるのはだめです。) (アドインでツールバーボタンを押すのもだめです。) エクセルは2003 OSはXPです。 説明不足でしたらすみません。