- ベストアンサー
エクセル マクロ VBA について
以下はセルB2.C2.D2.E2.F2をアクティブセルから右方向へ入力しています。ここでの入力とは"=" + "セルB2" というものです。一つずつ入力している為マクロが長くなります。短くシンプルなものにしたいです。ご教示お願いします。 ActiveCell.FormulaR1C1 = "=R2C2" ActiveCell.Offset(0, 1).Select ActiveCell.FormulaR1C1 = "=R2C3" ActiveCell.Offset(0, 1).Select ActiveCell.FormulaR1C1 = "=R2C4" ActiveCell.Offset(0, 1).Select ActiveCell.FormulaR1C1 = "=R2C5" ActiveCell.Offset(0, 1).Select ActiveCell.FormulaR1C1 = "=R2C6"
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロの記述内容と「ここでの入力とは"=" + "セルB2" というものです」とは少し違うように感じましたが、マクロ記述通りにするなら ActiveCell.Resize(1, 5).FormulaR1C1 = "=RC[1]" の1行でよいでしょう
その他の回答 (2)
- hana-hana3
- ベストアンサー率31% (4940/15541)
回答No.2
式を設定するセルも、式も決まっているのなら、 Range("B2", "C2", "D2", "E2", "F2").Formula = "=B2"
質問者
お礼
参考にさせていただきました。 ありがとうございました。
- pbforce
- ベストアンサー率22% (379/1719)
回答No.1
for intCol=3 to 6 Cells(2,intCol).Formula="=B2" next intCol
質問者
お礼
参考にさせていただきました。 ありがとうございました。
お礼
大変参考になりました。 ありがとうございました。
補足
言葉足らずですいません。 (1)セルB2.C2.D2.E2.F2を現在のアクティブセルから右方向へ入力したい。 (2)入力される中身が$B2.$C2.$D2…となるようにしたい。 という事でした。 zap35さんのをヒントに ActiveCell.Resize(1, 5).FormulaR1C1 = "=R2C[0]" とさせていただきました。これでやりたいことはできましたのですが、あっていますよね?