VBATips

ExcelVBAでインクリメント(++i)とデクリメント(–i)を使用したい【ExcelVBA】

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でそのまま元の変数を書き換える形を取っています。

関連記事

コメント

タイトルとURLをコピーしました