• ベストアンサー

エクセル マクロ 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"

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

マクロの記述内容と「ここでの入力とは"=" + "セルB2" というものです」とは少し違うように感じましたが、マクロ記述通りにするなら  ActiveCell.Resize(1, 5).FormulaR1C1 = "=RC[1]" の1行でよいでしょう

kozou1126
質問者

お礼

大変参考になりました。 ありがとうございました。

kozou1126
質問者

補足

言葉足らずですいません。 (1)セルB2.C2.D2.E2.F2を現在のアクティブセルから右方向へ入力したい。 (2)入力される中身が$B2.$C2.$D2…となるようにしたい。 という事でした。 zap35さんのをヒントに ActiveCell.Resize(1, 5).FormulaR1C1 = "=R2C[0]" とさせていただきました。これでやりたいことはできましたのですが、あっていますよね?

その他の回答 (2)

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

式を設定するセルも、式も決まっているのなら、 Range("B2", "C2", "D2", "E2", "F2").Formula = "=B2"

kozou1126
質問者

お礼

参考にさせていただきました。 ありがとうございました。

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

for intCol=3 to 6 Cells(2,intCol).Formula="=B2" next intCol

kozou1126
質問者

お礼

参考にさせていただきました。 ありがとうございました。