Increment number in textbox with KeyDown

S

Slim Slender

Okay, let's try this.
How can I prevent this from 'going negative' like a campaigning
politician.
It should be able to decrement in case it is taken to high, but for my
present
purposes negative numbers are not acceptable.


Private Sub txtHours01_KeyDown(ByVal KeyCode _
As MSForms.ReturnInteger, _
ByVal Shift As Integer)

Dim sHours As String
Dim v As Integer

Select Case KeyCode
Case 37 ' Left
v = -1
Case 39 ' Right
v = 1
Case Else
v = 0
End Select
sHours = txtHours01.Text
If IsNumeric(sHours) And v <> 0 Then
sHours = sHours + v * 0.25
txtHours01 = Format(sHours, "#0.00")
End If
End Sub
 
B

Bob Bridges

Seems to me if you want to keep sHours from going negative, you just need to
include a statement to keep it from going negative:

If IsNumeric(sHours) Then
sHours = sHours + v * 0.25
If sHours < 0 then sHours = 0
txtHours01 = Format(sHours, "#0.00")
End If
 
S

Slim Slender

Seems to me if you want to keep sHours from going negative, you just needto
include a statement to keep it from going negative:

  If IsNumeric(sHours) Then
    sHours = sHours + v * 0.25
    If sHours < 0 then sHours = 0
    txtHours01 = Format(sHours, "#0.00")
    End If







- Show quoted text -

Thanks Bob, that did the job.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top