- ベストアンサー
VBAを使って色々なセルに同じ文言を入力したいのですが・・・
VBA超初心者です。 sheet2(A2)に日付(平成○年○月○日)を入力したのですが、 これをsheet1の色々なセルに反映させたいのです。 反映さえたいセルは規則性があって、 D、H、L列の3行目、28行目、53行目・・・と25行置きに反映させたいのですが、どうすればいいでしょうか??
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
A2にはすでに入力されているのですね? ならばとりあえず253行目まで Sub test01() x = Sheets("Sheet2").Range("A2").Value For i = 3 To 253 Step (25) With Sheets("Sheet1") .Range("D" & i).Value = x .Range("H" & i).Value = x .Range("L" & i).Value = x End With Next End Sub
その他の回答 (3)
- n-jun
- ベストアンサー率33% (959/2873)
Sub try() Dim i As Long For i = 3 To 300 Step 25 '300行まで With Worksheets("Sheet1").Cells(i, 4).Range("A1,E1,I1") .NumberFormat = Worksheets("Sheet2").Range("A2").NumberFormat .Value = Worksheets("Sheet2").Range("A2").Value End With Next End Sub 300行までの限定版。(300を適宜変更されてもOK) ご参考程度に。
- hige_082
- ベストアンサー率50% (379/747)
一例です Sub test() Dim i As Long, ii As Integer Dim a As Variant a = Worksheets("sheet2").Range("a2").Text With Worksheets("sheet1") For i = 3 To 1000 Step 25 For ii = 0 To 8 Step 4 .Cells(i, 4 + ii).Value = a Next ii Next i End With End Sub
- hallo-2007
- ベストアンサー率41% (888/2115)
参考までに Sub Macro1() Range("A2").Copy For j = 3 To InputBox("何行目まで") Step 25 Range("A" & j).PasteSpecial Next End Sub
お礼
ありがとうございました。 行数はもっとあったのですが、数字を変えたら一発でできました! 大変助かりました。