• 締切済み

エクセルVBAについて

エクセルのVBAで質問があります。 A1からE20の範囲に、1~100の数字を表示させたいのです。 そして、その数字の並び方を左から右方向に1、2・・・(A1に1、B1に2)という風に順番に表示させたいのですが、 変数を用いてどのようにコードを入力していけばいいのかが分かりません。 最近勉強を始めようと思った全くの初心者なので、 分かりやすくご教授いただければ助かります。 よろしくお願いいたします。

みんなの回答

  • 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