海外旅行から帰ってきたら、まず何を食べる?

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

A 回答 (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
    • good
    • 0

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
    • good
    • 0

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
    • good
    • 0

Rangeを使えば,複数のセルに一度に同じ値を設定することができます。



Range("A1:A100") = 1

あとは1とか100のところを変数にして,

x=1
y=100
v=1
Range("A" & x & ":A" & y) = v

という書き方もできるので,
FOR文を使って,繰り返してやればいいと思います。
    • good
    • 0

1.セルA1に式[=INT((ROW()-1)/100)+1]を入力。


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報