I have a combobox called ReportMonth on a worksheet (i.e. not on a form)
called Summary. I want to include the current ReportMonth value (which can
change from one month to the next) in the CenterHeader along with some other
text, ready for printing, so I put the necessary code in the
Workbook_BeforePrint event module. This works fine, except that I can't set
a reference to the worksheet and use this when I refer to the combobox, I
have to use the full worksheet name i.e.:
Dim wks As Worksheet
Set wks = Worksheets("Summary")
....
[code to set CenterHeader]... wks.ReportMonth.Value ...
....
produces an Object Required error. I have to "spell it out" fully and do
this instead:
....
[code to set CenterHeader]... Worksheets("Summary").ReportMonth.Value ...
....
which works fine.
This might seem petty, but it seems to go against all the advice on setting
references to objects as good coding practice.
Why doesn't the neater code work?
Ian
Bookmarks