- 締切済み
Excel VBA CHAR( ) でエラーになる
Excel VBA でマクロ処理を作成してます。 現在エラー直らず困っています。 処理は内容は以下になります。 セルを指定 →『Q11』選択 offset() で+1して列を右に1個移動 で、選択したセルには今計算式が入っているが… その計算式を修正する 修正前 修正後 Q11/3 → Q11 オートフィルでセルの最下位まで確定させる その後,列を右に3コ移動して (offset関数を使用して移動してます) 後はfor文で繰り返せ… といった処理で,以下がソースになります。 Sub test() Dim str As String n = 1 For i = 1 To 2 Range("Q11").Select.Offset(, n).Select ▲ActiveCell.FormulaR1C1 = "=RC[123]" ★str = CHAR(CODE("Q") + n) Selection.AutoFill Destination:=Range(str & "11:" & str & "160") n = n + 3 Next End Sub ★マークで現在エラーになっている様です。 関数の使用方法が間違っているのか? エラーが直らず困っています。 ▲マークもあまりよくない記述かもしれませんが…試しマクロで作成してコピーしただけのものなので…この辺りもよい記述があればご教授ください。 アドバイス宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
通常は、以下のようなコードになるのではないでしょうか? >▲マークもあまりよくない記述かもしれませんが そんなことはありません。式に関しては、R1C1方式で良いです。 Sub test2() Dim i As Long For i = 0 To 1 Range("R11:R160").Offset(, i * 3).FormulaR1C1 = "=RC[123]" Next End Sub
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
str = CHAR(CODE("Q") + n) は、 多分、 str = CHR(ASC("Q") + n) だと思います。 Range("Q11").Select.Offset(, n).Select は、 Range("Q11").Offset(, n).Select でいいか、または、次の行も含めて Range("Q11").Offset(, n).FormulaR1C1="=RC[123]" でいいと思います