- 締切済み
エクセルVBAについて
エクセルのVBAで質問があります。 A1からE20の範囲に、1~100の数字を表示させたいのです。 そして、その数字の並び方を左から右方向に1、2・・・(A1に1、B1に2)という風に順番に表示させたいのですが、 変数を用いてどのようにコードを入力していけばいいのかが分かりません。 最近勉強を始めようと思った全くの初心者なので、 分かりやすくご教授いただければ助かります。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- okormazd
- ベストアンサー率50% (1224/2412)
回答No.3
For i = 0 To 99 Cells(i \ 5 + 1, i Mod 5 + 1) = i + 1 Next とか、 For r = 1 To 20 For c = 1 To 5 Cells(r, c) = 5 * (r - 1) + c Next Next とか。
- fujillin
- ベストアンサー率61% (1594/2576)
回答No.2
行と列の番号と、目的の番号(など)とをどのように(一意に)関連付けできるかということなので、コードというより考え方の問題です。 方法はたくさんあると思いますが、以下一例です。 (No1様の回答のfor文をネスト(入れ子に)するほうが、一般的かも) Sub test() Dim c As Range For Each c In Range("A1:E20") c.Value = (c.Row - 1) * 5 + c.Column Next c End Sub
- hana-hana3
- ベストアンサー率31% (4940/15541)
回答No.1
FOR文の勉強をしてください。 http://msft.ems.okayama-u.ac.jp/vba/chapter2.htm#02-3