Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm not exactly sure of how your interface is supposed to work. If you want
to use the InputBox method to get the date, here is that code (where I am assuming the TextBox is named PropDate)... Dim DateIn As String DateIn = Application.InputBox(prompt:="enter date mm/dd/yy", Type:=2) If DateIn Like "##/##/##" And IsDate(x) Then PropDate.Text = DateIn Else PropDate.Text = "??? That is not a date ???" End If Normally, this would be kind of an awkward interface as the TextBox is capable of receiving user typing directly. If you have an OK type CommandButton on the UserForm, I would let the user enter his/her date directly into the PropDate TextBox and put this code in that OK type CommandButton's Click event to verify the format of the entry... Private Sub CommandButton1_Click() With PropDate If Not (.Text Like "##/##/##" And IsDate(.Text)) Then MsgBox "Your entry is not a real date", vbCritical, "Bad Date Entry" .SelStart = 0 .SelLength = Len(.Text) .SetFocus Exit Sub End If End With ' ' The rest of your OK button code goes here ' End Sub There are other options available, but it all depends on what is on your UserForm and how the user is supposed to interact with whatever controls they are. -- Rick (MVP - Excel) "zak" wrote in message ... Hi Thanks for helping me out with this code. I actually have created a userform with a text input box (which is called PropDate). When the input box pops up and the date gets entered in the correct format - how can i add that date into the PropDate text input box on my userform? "Rick Rothstein" wrote: This is another possibility... Sub ordinate() Dim x As String x = Application.InputBox(prompt:="enter date mm/dd/yy", Type:=2) If x Like "##/##/##" And IsDate(x) Then MsgBox DateValue(x) Else MsgBox "bad input" End If End Sub -- Rick (MVP - Excel) "Gary''s Student" wrote in message ... Get the date as a String, and then detailed checks can be made: Sub ordinate() Dim x As String Dim n As Integer Dim dt As Date x = Application.InputBox(prompt:="enter date mm/dd/yy", Type:=2) If Len(x) < 8 Then MsgBox ("bad input") End If s = Split(x, "/") If UBound(s) < 2 Then MsgBox ("bad input") End If n = s(0) If n 12 Then MsgBox ("bad input") End If n = s(1) If n 31 Then MsgBox ("bad input") End If dt = DateValue(x) MsgBox (dt) End Sub -- Gary''s Student - gsnu200826 "zak" wrote: Hi I was wondering if anyone can let me know how to add validation to text input boxes on forms? I have several forms on a spreadsheet that I am creating and there are quite a few time and date input boxes, which I was hoping I could add validation to so that the information is entered in the correct format? i.e. date should only be in dd/mm/yy, time should only be entered like hh:mm etc. Can this be done? |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
User Form Text Boxes - Copy format of text boxes | Excel Discussion (Misc queries) | |||
Setting an array of text boxes equal to individual form text boxes | Excel Programming | |||
multi text boxes validation | Excel Programming | |||
validation for 10 text boxes | Excel Programming | |||
Two Quick Questions: Calling Subs & Text Input boxes | Excel Programming |