- 締切済み
100行ずつの連番を取得するマクロを教えて下さい
こんにちは。簡単なマクロだと思うのですが、初心者なので困っています。 エクセルのA1からA100までに「1」A101からA200までに「2」その後、「3,4,5、、、」と順番に書いていく簡単な方法を教えて下さい。手でコピーして行ってもよいのですが、データが大量なので。。。よろしくお願いします!
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
たぶん、こうすればよいのでは? Sub CentiCountPutIn() Const LASTROW As Long = 30000 '設定 If LASTROW > 65536 Then Exit Sub With Range("A1").Resize(LASTROW) .FormulaLocal = "=INT((ROW()-1)/100)+1" .Value = .Value End With End Sub
- jindon
- ベストアンサー率43% (50/116)
A列に表示 Sub test() With Range("a1", Range("a" & Rows.Count)) .FormulaR1C1 = _ "=if(mod(row(),100)=0,100,mod(row(),100))" .Value = .Value End With End Sub
- masa_019
- ベストアンサー率61% (121/197)
Sheet1のA65500まで数値を入れるなら こんな感じでどうでしょう? Sub test() Dim i As Long For i = 0 To 654 Sheets("Sheet1").Range("A1").Resize(100).Offset(100 * i).Value = i + 1 Next End Sub
- hananosaki
- ベストアンサー率35% (12/34)
Rangeを使えば,複数のセルに一度に同じ値を設定することができます。 Range("A1:A100") = 1 あとは1とか100のところを変数にして, x=1 y=100 v=1 Range("A" & x & ":A" & y) = v という書き方もできるので, FOR文を使って,繰り返してやればいいと思います。
- bin-chan
- ベストアンサー率33% (1403/4213)
1.セルA1に式[=INT((ROW()-1)/100)+1]を入力。 2.必要なだけ、コピー。(列Bに何かデータがあるなら、セルA1選択時に右下の黒■をダブルクリックでもOK) 3.列Aにお望みの結果が出ますが、値にしたければコピーして、形式を選択して貼り付け-値、です。