Hi jimcuk,
I tried to do what you asked. I added sheets to the test file so there are 33 sheets in the file. I hid any sheets which were illegal for a given month.
I did not address the following issues:
a. Worksheet Tab Color
b. Date Sheets Cell 'C3' Date Value
c. Will not work if Sheet 'Dates' is deleted or moved.
The following code is included in the attached file in Module ModFormatRenameTabs. I assigned the Macro to your 'Rename Tabs' CommandButton.
It is a best practice to declare all variables. If you misspell a variable in your code, VBA will silently assume it is a Variant variable and go on executing with no clue to you that you have a bug. Go to the VBA development window, click Tools, Options, and check "Require Variable Declaration." This will insert the following line at the top of all new modules:
This option requires all variables to be declared and will give a compiler error for undeclared variables.
I highly recommend that you use 'Option Explicit' in your code.
The following item may help you now and in the future:
Debugger Secrets:
a. Press 'F8' to single step (goes into subroutines and functions).
b. Press SHIFT 'F8' to single step OVER subroutines and functions.
c. Press CTRL 'F8' to stop at the line where the cursor is.
d. 'Left Click' the margin to the left of a line to set (or clear) a BREAKPOINT.
e. Press CTRL 'G' to open the IMMEDIATE WINDOW. 'debug.print' statements send their
output to the IMMEDIATE WINDOW.
f. Select View > Locals to see all variables while debugging.
g. To automatically set a BREAKPOINT at a certain location put in the line:
'Debug.Assert False'
h. To conditionally set a BREAKPOINT at a certain location put in lines similar to:
if i >= 20 and xTV20 > 99.56 then
Debug.Assert False
endif
i. A variable value will be displayed by putting the cursor over the variable name.
To manually set a breakpoint, see http://www.wiseowl.co.uk/blog/s196/breakpoints.htm
Lewis
Bookmarks