Asking users to enter time values can often lead to problems formatting what the user enters. I use this piece of code to create a drop-down list of hours, minutes, and AM/PM, which ensures the user specifies the proper time and eliminates problems manipulating the time later in the program.
To use this example, create a combo-box array with three combo boxes: lower bound = 0; upper bound = 2; and a command button. Use this code:
Private Sub Form_Load() Dim i As Integer, strTemp As String 'Fill hour combo box For i = 12 To 1 Step -1 Combo1(0).AddItem i Next i 'Fill minutes combo box For i = 0 To 59 strTemp = i If Len(strTemp) = 1 Then strTemp = "0" & i Combo1(1).AddItem ":" & strTemp Next i 'Fill AM/PM combo box Combo1(2).AddItem "AM" Combo1(2).AddItem "PM" 'First item in each combo box is displayed For i = Combo1.LBound To Combo1.UBound Combo1(i).ListIndex = 0 Next iEnd SubPrivate Sub Command1_Click() Dim sTime 'Format the time VB style sTime = "#" & Combo1(0) & Combo1(1) & ":00 " _ & Combo1(2) & "#" MsgBox sTimeEnd Sub