Private Function Increase(varValue As Variant, intUpper As Integer)
If intUpper >= 0 Then
If varValue < intUpper Then
Increase = varValue + 1
Else
Increase = varValue
End If
Else
Increase = varValue + 1
End If
End Function
Private Function Decrease(varValue As Variant, intLower As Integer)
If intLower >= 0 Then
If varValue > intLower Then
Decrease = varValue - 1
Else
Decrease = varValue
End If
Else
Decrease = varValue - 1
End If
End Function
Public Sub p_KeyPlusAndMinus(kKeyAscii, Optional intUpperBound As Integer = -1, Optional intLowerBound As Integer = -1)
Select Case kKey
Case 43 ' Plus key
kKey = 0
Screen.ActiveControl = Increase(Screen.ActiveControl, intUpperBound)
Case vbKeyUp
kKey = 0
Screen.ActiveControl = Increase(Screen.ActiveControl, intUpperBound)
Case 45 ' Minus key
kKey = 0
Screen.ActiveControl = Decrease(Screen.ActiveControl, intLowerBound)
Case vbKeyDown
kKey = 0
Screen.ActiveControl = Decrease(Screen.ActiveControl, intLowerBound)
End Select
End Sub