Userform and Text Box Date

T

TotallyConfused

Please help. I have been trying to find a way to mask the date fields in my
userform. (there are many) But can seem to find something that works for
one reason or another. Searching through some forums I found this that I
found would be good and easy but somehow I messed it up. What I want it to
do is when form opens my date fields (testing with textbox64 except my
txtformdate is exempt from this) should be greyed out as mm/dd/yyyy. When
user enters date the date is then changed to black color font. If it is not
a date, then it would displaye Msg Box Data entered is not a date Please try
again. What I have below is not working. Can someone please help. Thank
you in advance.



Private Sub TextBox64_Click(ByVal Cancel As MSForms.ReturnBoolean)
With UserForm2.TextBox64
.Text = ""
.ForeColor = RGB(0, 0, 51)
With UserForm2.TextBox64
If Not IsDate(UserForm2.TextBox64.Text) Then
MsgBox """The Data entered is not a Date""" _
& Chr(10) & " ""Please Try again"""

Exit Sub

End If

End With

End Sub





Private Sub UserForm_Initialize()
Me.txtFormDate = Date
'Me.FormDate = format(Date,"mm-dd-yyyy")
With Me.TextBox64
.Text = "dd/mm/yy"
.ForeColor = RGB(204, 204, 204)
.Font.Size = 10
End With

End Sub
 
F

FSt1

hi,
what version excel are you using? i don't seem to have a click event for
textboxes.
anyway, i edited your code to 3 subs and i "think" it does what you want.
i'm using 03.
Private Sub UserForm_Initialize()
With Me.TextBox1
.Text = "dd/mm/yy"
.ForeColor = RGB(204, 204, 204)
.Font.Size = 10
End With

End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
TextBox1.ForeColor = RGB(0, 0, 51)
End Sub

Private Sub TextBox1_AfterUpdate()

If Not IsDate(TextBox1.Text) Then
MsgBox """The Data entered is not a Date""" _
& Chr(10) & " ""Please Try again"""
TextBox1.Text = ""
TextBox1.SetFocus
Exit Sub
End If

End Sub

works in 03
regards
FSt1
 
T

TotallyConfused

Thank you very much this worked! Please one more question. To add this
formatting to other text boxes, do I just add the textboxes name to the subs
below? or do I need to write up individuals sub for each text box that I
want this formatting to apply. Sorry but I am new to code and really trying
to get a grip on this. Thank you.
 

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

Top