View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
FSt1 FSt1 is offline
external usenet poster
 
Posts: 3,942
Default Userform and Text Box Date

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

"TotallyConfused" wrote:

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