Listbox questions

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
 
T

Tom Ogilvy

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.
 
S

Shatin

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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top