![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんばんは
前回は質問の書き方が不明瞭でしたので、書き直します。
3つの数値 x,y,z を与えると、結果がシミュレーションできるエクセルシートがあります。結果も3つ出ますので f(x,y,z), g(x,y,z), h(x,y,z) とします。
x,y,z は B2, D2, F2 に入れるようになっており、f, g, h は、B8, C8, D8 に出るとします。
このとき、x,y,z の組み合わせをたとえば各10通り、合計1000通り代入して、f, g, h を計算させるには、B2, D2, F2に
400 40 1.5
400 50 1.5
420 40 1.5
420 50 1.5
…
というように次々数値を入力して、結果f, g, h(B8, C8, D8)を別の欄に記録していけば良い訳ですが、これを1000回繰り返すのは面倒です。
シナリオという機能があると伺い、これが希望のものに近いのですが、
http://www.rericca.com/qa/ex12.html
1000回もシナリオを作るのでは入力の手間が大変です。
そこで次のようにできないでしょうか。
x, y, z の数値の組合せ(400 40 1.5 等々)を次々変えて J,K,L 列の 1から1000行に書いておくと、それらを 順次 B2, D2, F2 に代入し、ある行の組み合わせに対する答え f, g, h が同じ行の M,N,O列に出る、それを 1 から 1000行まで繰り返す、というようなことが可能でしょうか。(出力形式は例として考えたので、この形にはこだわりません)。
f, g, h が 関数として簡単に書ければ、プログラム言語でループをさせればいいのですが、このエクセルは以前の人が作ったもので途中で大変面倒な計算をしており、とても移植できません。(上記の話は説明のために簡単化してあります)。
こういう手段があればとてもありがたいのです。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
別のシートに入力値を並べておく。
入力値0001を対象のシートの入力にコピー。
再計算を実施させる。
計算結果を別シートの出力にコピー。
入力値0001~1000まで繰り返す。
とかでしょうか。
VBAで自動化できると思います。
マクロの記録で2~3回の手順をマクロを記録すると、どう繰り返せば良いのか見えるかも。
お答えを拝見して、3つのパラメータの左に1-1000までの数をつけ、VLOOKUP で表を引かせて3つのパラメータを与えれば、1-1000 を与えるだけで答えが出ることを思いつきました。
そこで、1,2,3,... を A2 に与えれば D2:F2 に答えが出るようにし、それを順次 M1:O1, M2:O2 へコピーしていくという手順を考え、マクロを記録してみました。
そしてこれをとりあえず 1-20 までの値でループさせるというのを次のようにやってみたら、成功しました!
どうもありがとうございました。
Sub Macro2()
'
' Macro2 Macro
' Keyboard Shortcut: Ctrl+g
'
For i = 1 To 20
Range("A2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = i
Range("D2:F2").Select
Selection.Copy
Range(Cells(i, 13), Cells(i, 15)).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- C言語・C++・C# C言語 3 2022/10/04 15:07
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、条件をつけて人数...
-
エクセル 表の人数を計算したい...
-
エクセルで住所一覧から都道府...
-
エクセルのセルで整数のみ選択...
-
WEBページに調査する文字(Shee...
-
エクセルの範囲指定について
-
エクセルで一次線形補間する方法
-
半角の引用符 “ ” の打ち方
-
名前(平仮名)を数字に変換する...
-
「“」と「”」について
-
パソコンでダウンロードしたmp4...
-
キーボードで英数字の半角と全...
-
フォルダ名を並び替えても必ず...
-
半角で漢字を??
-
エクセルで空白を無視して一番...
-
ミ の反対見たいな記号の名前は?
-
キーボードの感度が良すぎて困...
-
半角の+が入力できません
-
エクセルの挿入図形で文字が隠...
-
半角英数で「¥」を入力したい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、条件をつけて人数...
-
エクセルのセルで整数のみ選択...
-
エクセルの一覧からカードを作...
-
エクセル 表の人数を計算したい...
-
エクセルの範囲指定について
-
エクセルで複数行に渡ったセル...
-
excel VBA コピーした行を、指...
-
エクセル集計ひと月を4週に分...
-
エクセルで一次線形補間する方法
-
AdvancedFilterを使って値のみ...
-
5円単位の切り上げ関数
-
A3やB4のA,Bって何かの略ですか?
-
エクセルで参加者一覧表から参...
-
エクセルで住所一覧から都道府...
-
Excel2007での記入後の英語の小...
-
エクセルシート同一項目内の重...
-
エクセルVBAで値だけをコピーペ...
-
EXCELで表組って?
-
エクセルで表の一部をコピーし...
-
エクセルでユニーク数を求めた...
おすすめ情報