View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Listbox questions

in you general module at the very top outside any module

Public MyDate as Date

Sub masterMacro()
code
dlgDate.show
msgbox Format(MyDate,"mm/dd/yyyy")
End Sub


in the userform code module

Private Sub OK_Click()
Dim sStr as String
sStr = Monthlist.Text & "/" & dayList.Text & "/" & YearList.Text
if isdate(sStr) then
MyDate = cDate(sStr)
else
myDate = 0
end if
Unload me
End sub

Note that once the string is converted to a date (date serial number), you
can display it in any format you want.


--
Regards,
Tom Ogilvy

"Shatin" wrote in message
...
I have a macro in which there is a variable called myDate, and myDate must
be entered in this format: mm/dd/yyyy.

To make sure it will be done correctly, I have created a userform dlgDate
with three dropdown lists: monthList, dayList and yearList.

The elements of the lists are like this:

- monthList: 01, 02, ...12
- dayList: 01, 02,...31
- yearList: 2003, ...2008

The flow of the master macro is like this:

Sub masterMacro()
code
dlgDate.show
more code
End sub

1. What should I put into the userform's Sub OK_Click() to concatenate the
right date? I have tried many times but failed.

2. Once I get the correct date string in the userform, how do I pass it

back
to the masterMacro to be used by myDate?

TIA