Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Userform and Text Box Date
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Userform and Text Box Date
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. "FSt1" wrote: 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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Get a date to display in date format on a UserForm | Excel Programming | |||
Userform text box return date value? | Excel Programming | |||
UserForm text box Date formatting | Excel Programming | |||
Date in userform being saved as general not date which affects sor | Excel Programming | |||
Userform to select start date and end date | Excel Programming |