ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   userform-check data type (https://www.excelbanter.com/excel-programming/326274-userform-check-data-type.html)

xlcharlie

userform-check data type
 
I am developing a userform in which the user will enter a date. I want the
code to verify that the data entered is a valid date (type dbDate) before
calling the procedure. To do this I have been working with the code below:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim dtHol As Variant
dtHol = TextBox1.Value
If TextBox1.Type < dbDate And TextBox1.Value < "" Or _
TextBox1.Value < 0 Then
Call errMsg1
End If
End Sub

The Type method does not seem to be available for this purpose, and
assigning a variable the value of the TextBox has been similarly
unsuccessful. Any hints how this should be done?

Bob Phillips[_6_]

userform-check data type
 

If Not IsDate(TextBox1.Text) And TextBox1.Value < "" Or _
TextBox1.Value < 0 Then


--

HTH

RP
(remove nothere from the email address if mailing direct)


"xlcharlie" wrote in message
...
I am developing a userform in which the user will enter a date. I want

the
code to verify that the data entered is a valid date (type dbDate) before
calling the procedure. To do this I have been working with the code

below:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim dtHol As Variant
dtHol = TextBox1.Value
If TextBox1.Type < dbDate And TextBox1.Value < "" Or _
TextBox1.Value < 0 Then
Call errMsg1
End If
End Sub

The Type method does not seem to be available for this purpose, and
assigning a variable the value of the TextBox has been similarly
unsuccessful. Any hints how this should be done?




Tom Ogilvy

userform-check data type
 
A textbox returns a string, so you can't test the type property (which a
textbox doesn't have a type property) against any constant. A constant such
as dbDate must be defined in a library other than Excel, Officer or MSForms,
so it would have little utility in such a check if it were possible.

Dim dt as Date
on Error Resume Next
dt = cDate(Textbox1.Text)
On Error goto 0

now check out dt to see if it meets your criteria.

--
Regards,
Tom Ogilvy



"xlcharlie" wrote in message
...
I am developing a userform in which the user will enter a date. I want

the
code to verify that the data entered is a valid date (type dbDate) before
calling the procedure. To do this I have been working with the code

below:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim dtHol As Variant
dtHol = TextBox1.Value
If TextBox1.Type < dbDate And TextBox1.Value < "" Or _
TextBox1.Value < 0 Then
Call errMsg1
End If
End Sub

The Type method does not seem to be available for this purpose, and
assigning a variable the value of the TextBox has been similarly
unsuccessful. Any hints how this should be done?




Michael Malinsky[_3_]

userform-check data type
 
Try this:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Dim dtHol As Variant
Dim dbDate As Date

dtHol = TextBox1.Value
If IsDate(TextBox1) < True And (TextBox1.Value < "" Or _
TextBox1.Value < 0) Then
MsgBox "Value must be date (mm/dd/yyyy)."
Cancel = True
End If

End Sub


"xlcharlie" wrote in message
...
I am developing a userform in which the user will enter a date. I want

the
code to verify that the data entered is a valid date (type dbDate) before
calling the procedure. To do this I have been working with the code

below:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim dtHol As Variant
dtHol = TextBox1.Value
If TextBox1.Type < dbDate And TextBox1.Value < "" Or _
TextBox1.Value < 0 Then
Call errMsg1
End If
End Sub

The Type method does not seem to be available for this purpose, and
assigning a variable the value of the TextBox has been similarly
unsuccessful. Any hints how this should be done?





All times are GMT +1. The time now is 07:02 AM.

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