Home |
Search |
Today's Posts |
|
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Change date with KeyDown
The following code changes a date in a form text box like this:
txtDate.Text = Format(Date, "mm/dd") with left and right arrows. Private Sub txtDate_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim sDate As String Dim v As Integer, dte As Date Select Case KeyCode Case 37 ' Left v = -1 Case 39 ' Right v = 1 Case Else v = 0 End Select sDate = txtDate.Text If InStr(sDate, ",") Then sDate = Trim(Right(sDate, Len(sDate) - InStr(sDate, ","))) End If If IsDate(sDate) And v < 0 Then dte = CDate(sDate) dte = dte + v txtDate = Format(dte, "mm/dd") End If End Sub Can this be adapted to change a Time value formatted thus: txtTime.text = Format(Now(), "h:mm AM/PM") by 15 minute increments. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Change date with KeyDown
This worked for me:
Private Sub txtDate_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim sDate As String Dim v As Integer, dte As Date Select Case KeyCode Case 37 ' Left v = -1 Case 39 ' Right v = 1 Case Else v = 0 End Select sDate = txtDate.Text If InStr(sDate, ",") Then sDate = Trim(Right(sDate, Len(sDate) - InStr(sDate, ","))) End If If IsDate(sDate) And v < 0 Then dte = CDate(sDate) dte = dte + v*TimeValue("00:15") txtDate = Format(dte, "hh:mm") End If End Sub -- Regards, Tom Ogilvy "John Pierce" wrote in message oups.com... The following code changes a date in a form text box like this: txtDate.Text = Format(Date, "mm/dd") with left and right arrows. Private Sub txtDate_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) Dim sDate As String Dim v As Integer, dte As Date Select Case KeyCode Case 37 ' Left v = -1 Case 39 ' Right v = 1 Case Else v = 0 End Select sDate = txtDate.Text If InStr(sDate, ",") Then sDate = Trim(Right(sDate, Len(sDate) - InStr(sDate, ","))) End If If IsDate(sDate) And v < 0 Then dte = CDate(sDate) dte = dte + v txtDate = Format(dte, "mm/dd") End If End Sub Can this be adapted to change a Time value formatted thus: txtTime.text = Format(Now(), "h:mm AM/PM") by 15 minute increments. |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
keydown event | Excel Programming | |||
keydown event | Excel Programming | |||
KeyDown event in sheet | Excel Programming | |||
KeyDown / KeyPress Events | Excel Programming | |||
keydown event | Excel Programming |