Excel VBA初心者です。 LOOP処理の中にFormulaR1C1を使用しています。 下記、コード中の一文です。
Excel VBA初心者です。 LOOP処理の中にFormulaR1C1を使用しています。 下記、コード中の一文です。 sheet3!Cells(4, i + 3).FormulaR1C1 = "=sheet2!RC[" & j & "]*sheet1!R[" & i - 1 & "]C3 + sheet1!R[" & i - 1 & "]C4 " ・・・(1) これを実行すると、セル内の数式に下記の通り書き込まれます。 =sheet2!C4*Sheet1!$C3 + Sheet1!$D3 ・・・(2) 本来やりたいことは(2)の「$C3」「$D3」を、「$C$3」「$D$3」の絶対参照にしたいのですが、 (1)の「R[" & i - 1 & "]C3」の部分を「R" & i - 1 & "C3」とすると1004エラーが出ます。 R[" & i - 1 & "]C3について絶対参照にする方法はあるのでしょうか? ご教授いただきたく、よろしくお願い致します。
Excel・43閲覧
ベストアンサー
Sheets(3).Cells(4, i + 3).FormulaR1C1 = "=sheet2!RC[" & j & "]*sheet1!R" & 4 + i - 1 & "C3 + sheet1!R" & 4 + i - 1 & "C4" R" & i - 1 & "C3では、C0のセルを参照してしまい、そんなセルは無いためオブジェクトエラーになります。 Cells(4,i+3)からの相対距離ですから、Rowの4に+すればよいわけですので、直接4 + i -1と記述しましょう。
質問者からのお礼コメント
早速のご回答ありがとうございました。 無事想定通りに実行できました。 よくよく考えれば列と同じ扱いをすればいいのですね。
お礼日時:1/25 12:26