VBAで1ずつ増やす方法を解説【繰り返し処理やコード例もご紹介】

VBA

「VBAで値を1ずつ増やしたい!」
「連番を振るにはどうしたらいいの?」

そんなお悩みを解決します。
VBAで1ずつ増やす処理を実用例も合わせてご紹介!
アレンジして使ってみてください。

VBAを使って1ずつ増やす方法

VBAでAという値に1を増やすには、「A=A+1」と書きます。
算数ではイコールの左側で計算した結果をイコールの右側に書きますよね。
VBAでは反対で、イコールの右側で計算されたものが、イコールの左側に入力されます。

例えばAの値が1だった場合、次のようになります。

A=A+1

2=1+1

Aの値が2になりましたね。
ここでまた「A=A+1」をすると2+1になるのでAの値は3になります。
VBAで1ずつ増やすには「A=A+1」という式を使いましょう。
次の章で、1ずつ増やす繰り返しの方法を解説します。

加算を繰り返すには

Aの値を1ずつ繰り返し増やしていく場合はどうすればいいでしょうか。

A=A+1
A=A+1
A=A+1
A=A+1
A=A+1

上記のように5回同じ処理を書くと5回繰り返して1ずつ増えていきます。
しかし、同じ式が何度も続いてしまいますよね。
5回であれば、続いても…と思うかもしれませんが、例えば100回繰り返すとなると100行も書けません。
繰り返しの処理をするときには「For~Next」を使います。
Aの初期値を0として、実際に5回繰り返す処理は以下の通りです。

Sub kurikaeshi()

Dim A As Long

A = 0

For i = 1 To 5
    A = A + 1
Next i

End Sub

「i」は変数でイコールの右側の値が初めから終わりまで順に代入されます。
上記の場合は、1回目が「i=1」、2回目が「i=2」と5回繰り返されます。
イコールの右側は、必ずしも1からでなくてもかまいません。
3から5回繰り返したい場合は「3 to 7」でも良いのです。
実際に5回繰り返し処理がされたのか出力して確認してみましょう。

繰り返しを出力する

先ほどのコードを使って、実際にExcelに出力してみましょう。
「Next i」の次の行に「Range(“A1”) = A」を入れます。
全文は以下の通りです。

Sub kurikaeshi()

Dim A As Long

A = 0

For i = 1 To 5
    A = A + 1
Next i

Range("A1") = A

End Sub

これで実行するとA1セルに5が入力されるはずです。
1を増やす処理が5回繰り返されたことがわかりますね。
でも、1を増やすごとにセルに値を出力していきたい、ということもあります。
例えば連番を入力したいときですね。
そんな時は、繰り返し処理の中に出力の式を入れます。

Sub kurikaeshi()

Dim A As Long

A = 0

For i = 1 To 5
    A = A + 1
    Cells(i, 1) = A
Next i

End Sub

「For~Next」の処理の中、「A = A + 1」のあとに「Cells(i, 1) = A」を追加しました。
「i」の値は繰り返しの回数ごとに1から5まで増えていきますので、これを実行するとセルA1からA5まで順に1から5が入ります。

ボタンを押すたびに1増やすには

何回繰り返すかわからないけど、ボタンを押すたびに1ずつ値を増やしたいというときには以下のコードを使います。

Sub plusbtn()

Dim A As Long

A = Range("A1")

A = A + 1

Range("A1") = A

End Sub

このコードではA1セルに入っている値に1を足して、またA1セルに出力できるようになっています。
エクセルで開発タブの挿入からフォームボタンを追加してこのマクロを登録してみてください。
ボタンを押すたびにA1セルの値が増えていくのがわかります。

まとめ

最後まで読んでいただきありがとうございます。
VBAで1ずつ値を増やす方法がわかったでしょうか。
私自身、社会人になってからVBAを勉強し始め、少しずつ勉強し、考えたものを思い通りに作れるようにまでなりました。
あなたもきっと目標があり、この記事を読んでいただいたのだと思います。
VBAを思い通りに使えるようになるお手伝いができていると嬉しいです。

コメント

Copied title and URL