Sheet2のa、bのデータを上から順にSheet1に代入し、結果x、y、zを別のSheet3に出力したいです。
計算はできたのですがSheet3に出力が上手くいきません。
Sub Kamera() Sheets("Sheet2").Select Dim u As Integer Dim v As Integer Dim i As Integer For i = 2 To 342 Sheets("Sheet2").Select u = Range("A" & i).Value Debug.Print (u) v = Range("B" & i).Value Debug.Print (v) Sheets("Sheet1").Range("C23") = u Sheets("Sheet1").Range("C24") = v Sheets("Sheet1").Range("B40:B42").Copy Sheets("Sheet3").Range("Ai:Ci") Next i End Sub
「vbaを用いて、一回一回のデータはできる」のならば、そのコードを記載されるほうが良いでしょう。
コードを掲載してください。
連続処理についてはFor文を使えば良いかと思いますが。
質問は編集できますので、コードは質問に追記してください。(「コードの挿入」で記入してください)
エラーについても具体的にどんなエラーがどこで出たのかを質問に追記してください。
式とはどんな式でしょうか?
「Sheet1のa、bのデータを上から順にSheet2のC23,24に代入」と言っていますが、Sheets("Sheet2").Select
u = Range("A2").Value
v = Range("B2").Value
Sheets("Sheet1").Range("C23") = u
Sheets("Sheet1").Range("C24") = v
コード中ではシート2のA2、B2をコピーして、シート1のC23、C24に入力しています。
文とコードで逆になっていますが大丈夫ですか?
すみません、文が間違っていました。
質問を編集されましたが、計算式のエラーの件は解決されたのでしょうか?
再度言いますが、インデントがないとコードが読めないので、コードは「コードの挿入」で記入してください。
最後のCopyがうまくいかないのは、対象範囲の形が違うからだと思います。
1行3列から3行1列を指定していますので。
ただ、同じセルに出力するので、最後の結果以外は、見えないと思うのですが、それで良いのですか?
全ての結果を出したいんですけど、うまくいかないんです。どうすればいいですかね
解決お疲れ様でした。
まず、今の、最後しか表示されない、というのがどういう事か、考えてみてください。
コードで言うなら i の値の変化と、結果欄の変化でしょうか。
それがわかれば、「どういう結果欄にするべきか」、がわかり、どうすれば良いか、もわかると思います。
まずは、しばらく、考えてみてください。
回答1件
あなたの回答
tips
プレビュー