前提・実現したいこと
下図のC2の変数に応じた計算結果(N6:N10)をC6:G10に自動入力できるようにしたいと考えております。
テーブル内に値の貼り付けることはできたものの、適切に数値を貼り付けることができず困っております。
具体的には、C列(Year1)~G列(Year5)で数値が異なるところ、同じ数値となってしまいまいした。
N6:N10の計算結果を各行(6~10行目)のC列:G列に計算結果を正しく返したいです。
上図:データテーブルで作成した場合の数式
下図:C6:G10が正しい正しい計算結果ですが、下記ソースコードを実行するとC12:G16に記載した誤った計算結果となってしまいます。
恐れ入りますが、どなたかご教示お願い致します。
発生している問題・エラーメッセージ
上記記載のとおり
該当のソースコード
Sub test() Dim Rw, Col, Gyo Application.ScreenUpdating = False For Col = 3 To 7 For Rw = 6 To 10 Range("C2").Value = Cells(Rw, 2).Value Cells(Rw, Col).Value = Cells(Rw, "N").Value Next Rw Next Col Application.ScreenUpdating = True End Sub
試したこと
各サイト等色々確認し試してみましたが、思うような結果にならず...
補足情報(FW/ツールのバージョンなど)
無し
やりたいことの確認をさせてください。
データテーブルに式が入っていれば変数(C2セル)を変化させれば自動で値は変化しますよね?
そのようなことをVBAで実現したいのでしょうか?
データテーブルの式は消した状態でVBAを走らせるのでしょうか?
それから、VBAを走らせた結果は最後の変数の値しか残らなくてもいいのでしょうか?
ryuno_vanilla様
前回はご回答ありがとうございます。また、ご質問ありがとうございます。以下回答させて頂きます。
データテーブルに式が入っていれば変数(C2セル)を変化させれば自動で値は変化しますよね?
→ はい、ご理解のとおりです
そのようなことをVBAで実現したいのでしょうか?
→ データテーブルを使えない事情があり、VBAで実現したいと考えております。
データテーブルの式は消した状態でVBAを走らせるのでしょうか?
→ ご指摘のとおり、テーブルは消した状態でVBAを走らせます。例えば、I2:M2を変化させて時にVBAを走らせ、テーブルの数値を更新したいと考えております。
それから、VBAを走らせた結果は最後の変数の値しか残らなくてもいいのでしょうか?
→ 最後は数値だけ残れば大丈夫です(データテーブルは消します)
度々で恐縮ですが、ご査収の程宜しくお願い致します。