Default Value in a list box

S

Secret Squirrel

I have a list box in cell A8. It's a list box created using data validation.
The values are all dates. How do I get it to populate a default date when
opening the file?
The list of values is dates for every Monday so I want it to default to the
current week's Monday. For example if today was 9/12/07 I would want it to be
9/10/07 when the file is opened. How would I make this happen?
 
S

Secret Squirrel

Thanks. That should work but how do I put that into VBA code? I think that's
where it needs to go to populate the default of the list box. Correct?
 
D

Dave Peterson

You can use something like:

Dim myDate As Date
myDate = Date - Weekday(Date) + 2
MsgBox myDate
 
S

Secret Squirrel

Hi Dave,
Thanks for the response.
How would I point that code to my list box on my worksheet so it will set
that as the default date when the file is opened?
 
D

Dave Peterson

If you're using data|validation for that cell, you can just plop that value into
that cell:

Option Explicit
Sub Auto_Open()
Dim myDate As Date
myDate = Date - Weekday(Date) + 2

with thisworkbook.worksheets("Sheet9999").range("x999")
.numberformat = "mmmm dd, yyyy"
.value = mydate
end with

end sub

Untested. Watch for typos!
 
S

Secret Squirrel

No typos. I tried it but nothing. I put the code in the VBA window behind
that sheet, correct? Am I missing something else?
 
D

Dave Peterson

I assumed that you wanted to populate that cell when you opened the workbook.
Is that ok?

If it is ok, then this code goes in a general module.

If it's not ok, when should that cell be populated?

And remember to change the name of the worksheet and the address of the cell,
too.

Secret said:
No typos. I tried it but nothing. I put the code in the VBA window behind
that sheet, correct? Am I missing something else?
 
S

Secret Squirrel

I didn't realize I had to put it into a general module. It works now.
Thanks for your help Dave!
 

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