ExcelVBAでインクリメント(++i)とデクリメント(–i)を使用したい
VBAマクロを実行する際、++iでiの値を1足すことや、–iでiの値を1減らすことはできません。
VBAには言語として用意されていない為、代替え処理としてサブルーチン化するしかありません。
(自己満足になってしまいますが)
インクリメント(++i)とデクリメント(–i)を使用するサンプルコード
'■インクリメント(プラス1する)のためのサブルーチン Public Sub inc(ByRef i As Long) i = i + 1 End Sub '■デクリメント(マイナス1する)のためのサブルーチン Public Sub dec(ByRef i As Long) i = i - 1 End Sub '■実際の使い方 Public Sub sample() Dim x As Long: x = 0 inc x Debug.Print x '1 inc x Debug.Print x '2 dec x Debug.Print x '1 End Sub
注意点
- 参照渡しByRefでそのまま元の変数を書き換える形を取っています。
コメント