Tipp 10.16 - In-/Dekrementieren

Wie kann ich numerische Variablen inkrementieren bzw. dekrementieren?

Mit dieser Funktion können Sie numerische Variablen inkrementieren bzw. dekrementieren. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.

Beispiel:

Option Explicit
 
Sub Incr(ByRef vValue As Variant, _
         Optional ByVal vSummand As Variant = 1)
'// -----------------------------------------------------
'// Methode:   | Nummerischen Wert inkrementieren
'// -----------------------------------------------------
'// Parameter: | vValue - Wert, der inkrementiert wird
'//            | vSummand - Höhe der Inkrementierung
'// -----------------------------------------------------
'// Rückgabe:  | vValue wird ByRef direkt erhöht
'// -----------------------------------------------------
'// Autor:     | Stefan Kulpa
'//            | EDV Innovation & Consulting - Dormagen
'// -----------------------------------------------------
    On Error GoTo Err_Incr
'// Typsicheres Inkrementieren eines nummerischen Wertes
    Select Case VarType(vValue)
           Case vbInteger To vbCurrency, vbByte:
           Case Else: Exit Sub
    End Select
    Select Case VarType(vSummand)
           Case vbInteger To vbCurrency, vbByte:
           Case Else: Exit Sub
    End Select
    vValue = vValue + vSummand
 
Err_Incr:
    On Error GoTo 0
    Exit Sub
 
End Sub
 
Sub Decr(ByRef vValue As Variant, _
         Optional ByVal vSubtrahend As Variant = 1)
'// -----------------------------------------------------
'// Methode:   | Nummerischen Wert dekrementieren
'// -----------------------------------------------------
'// Parameter: | vValue - Wert, der dekrementiert wird
'//            | vSubtrahend - Höhe der Dekrementierung
'// -----------------------------------------------------
'// Rückgabe:  | vValue wird ByRef direkt verkleinert
'// -----------------------------------------------------
'// Autor:     | Stefan Kulpa
'//            | EDV Innovation & Consulting - Dormagen
'// -----------------------------------------------------
    On Error GoTo Err_Decr
'// Typsicheres Dekrementieren eines nummerischen Wertes
    Select Case VarType(vValue)
           Case vbInteger To vbCurrency, vbByte:
           Case Else: Exit Sub
    End Select
    Select Case VarType(vSubtrahend)
           Case vbInteger To vbCurrency, vbByte:
           Case Else: Exit Sub
    End Select
    vValue = vValue - vSubtrahend
Err_Decr:
    On Error GoTo 0
    Exit Sub
 
End Sub