View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.misc
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Make Worksheets Given a Certain YEAR

I'm not sure why, but sometimes copying from a web page can bring extra
characters with it. It doesn't seem to happen in the communities web pages very
often. So you got lucky <vbg.

el zorro wrote:

Dave,
I re-pasted the macro and did the change you suggested and it worked just
fine.
Much appreciated it.

Mike H,
Thank you also.

"Dave Peterson" wrote:

The code ran ok for me (after I removed the 's).

Try copying and pasting again.

and while you're testing, you may want to use:

For D = DateSerial(Y, 1, 1) To DateSerial(Y, 1, 31)
(only 31 new sheets instead of 365 or 366).

Ps. The number of worksheets in a workbook is limited by your pc's memory. You
may have trouble with lots and lots of sheets.


el zorro wrote:

I copied this macro from one of the e-mail correspondences but somehow when I
run same it errors out with "sub or function not defined".

This macro is suppose to create worksheets given a certain YEAR.

The debugger is stopping at the "Application.StatusBar = D"

Sub MakeYear()
Dim SH As Worksheet
Dim D As Date, Y As Long
Set SH = ActiveSheet
Y = Val(InputBox("Year:"))
If Y < 2000 Then Exit Sub
If Y 2100 Then Exit Sub
Application.ScreenUpdating = False
For D = DateSerial(Y, 1, 1) To DateSerial(Y, 12, 31)
Application.StatusBar = D
SH.Copy after:=Sheets(Sheets.Count)
ActiveSheet.Range("A1").Value = D
ActiveSheet.Name = Format(D, "mmm dd")
Next
Application.StatusBar = False
Application.ScreenUpdating = True
End Sub

Thanks.


--

Dave Peterson


--

Dave Peterson