重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

エクセルのVBAで質問があります。
A1からE20の範囲に、1~100の数字を表示させたいのです。
そして、その数字の並び方を左から右方向に1、2・・・(A1に1、B1に2)という風に順番に表示させたいのですが、
変数を用いてどのようにコードを入力していけばいいのかが分かりません。

最近勉強を始めようと思った全くの初心者なので、
分かりやすくご教授いただければ助かります。
よろしくお願いいたします。

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

行と列の番号と、目的の番号(など)とをどのように(一意に)関連付けできるかということなので、コードというより考え方の問題です。


方法はたくさんあると思いますが、以下一例です。
(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
    • good
    • 0

FOR文の勉強をしてください。



http://msft.ems.okayama-u.ac.jp/vba/chapter2.htm …
    • good
    • 0

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