ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Validate text box entry on user form (https://www.excelbanter.com/excel-programming/283160-validate-text-box-entry-user-form.html)

Gareth[_3_]

Validate text box entry on user form
 
I have text box on a user form, the user is to enter time taken to do a
certain task in it.

I want the time to be entered in time format - h:mm

The number of hours can be 0 to 100

In the OK click code I want to check if the entry is correct, that is, 3rd
from the right is a':' and the last two digits are less than 60

Examples:
9:45 OK
9:75 Not OK

The entry is then put into a cell within the file.

Thanks in advance.

Gareth



Steve Garman

Validate text box entry on user form
 
Gareth wrote:

I have text box on a user form, the user is to enter time taken to do a
certain task in it.

I want the time to be entered in time format - h:mm

The number of hours can be 0 to 100

In the OK click code I want to check if the entry is correct, that is, 3rd
from the right is a':' and the last two digits are less than 60

Examples:
9:45 OK
9:75 Not OK

The entry is then put into a cell within the file.

Private Sub CommandButton1_Click()
Dim ok As Boolean, arr As Variant
ok = False
If TextBox1 Like "*#:##" Then
arr = Split(TextBox1, ":")
If IsNumeric(arr(0)) Then
If arr(0) <= 100 And arr(1) < 60 Then
ok = True
End If
End If
End If
If ok Then ActiveSheet.Cells(1, 1).Formula = TextBox1
End Sub

--
Steve Garman


Henry[_5_]

Validate text box entry on user form
 
Gareth,

Private Sub TextBox1_AfterUpdate()
'Is time formatted correctly?
If Mid(TextBox1.Text, Len(TextBox1.Text) - 2, 1) = ":" And _
Right(TextBox1.Text, 2) < 60 Then
Sheets("sheet1").Range("Z99") = TextBox1.Text
Else
'Not formatted correctly, so tell user.
MsgBox "Time MUST contain a colon ':' and be in Hours and Minutes",
"Error"
End If
End Sub

Private Sub CommandButton1_Click()
'Check that time has been saved.
'if it hasn't, then user has ignored message box!
'don't exit form until time entered correctly
If Sheets("sheet1").Range("Z99") = TextBox1.Text Then Unload UserForm1

End Sub


"Gareth" wrote in message
...
I have text box on a user form, the user is to enter time taken to do a
certain task in it.

I want the time to be entered in time format - h:mm

The number of hours can be 0 to 100

In the OK click code I want to check if the entry is correct, that is, 3rd
from the right is a':' and the last two digits are less than 60

Examples:
9:45 OK
9:75 Not OK

The entry is then put into a cell within the file.

Thanks in advance.

Gareth






All times are GMT +1. The time now is 03:21 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com