Listbox questions

  • Thread starter Thread starter Shatin
  • Start date Start date
S

Shatin

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
 
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.
 
Many thanks for your help, Tom. A large part of my problem stemmed from the
fact that I thought I had declared myDate as a public variable by placing it
at the the top of the module. Unfortunately, I forgot to change "dim" to
"public", so it still wasn't a public variable.
 
Back
Top