• 締切済み

100行ずつの連番を取得するマクロを教えて下さい

こんにちは。簡単なマクロだと思うのですが、初心者なので困っています。 エクセルのA1からA100までに「1」A101からA200までに「2」その後、「3,4,5、、、」と順番に書いていく簡単な方法を教えて下さい。手でコピーして行ってもよいのですが、データが大量なので。。。よろしくお願いします!

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

たぶん、こうすればよいのでは? 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)
回答No.4

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)
回答No.3

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

回答No.2

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)
回答No.1

1.セルA1に式[=INT((ROW()-1)/100)+1]を入力。 2.必要なだけ、コピー。(列Bに何かデータがあるなら、セルA1選択時に右下の黒■をダブルクリックでもOK) 3.列Aにお望みの結果が出ますが、値にしたければコピーして、形式を選択して貼り付け-値、です。

関連するQ&A

専門家に質問してみよう