Code to open new workbook

A

Andrew

Ladies & Gents,

I wish to update my macros to open new workbooks with the required number of
spreadsheets. I have the following function, but am unable to get it to
work (I'm not too confidant with functions);

Function NewWorkbook(wsCount As Integer) As Workbook
' creates a new workbook with wsCount (1 to 255) worksheets
Dim OriginalWorksheetCount As Long
Set NewWorkbook = Nothing
If wsCount < 1 Or wsCount > 255 Then Exit Function
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Set NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
End Function

Can anybody give me some clues either on how to get this function to work
within a macro? Or does anyone have some code that will open a new workbook
with a specified number of spreadsheet?


Thanks in advance
Andrew
 
B

Brad

That function worked for me. Just need a subroutine to
call it.

Sub CreateWorkbook()
Dim wbkNew As Workbook
Set wbkNew = NewWorkbook(20)
End Sub

-Brad
 
B

Beto

Andrew said:
Function NewWorkbook(wsCount As Integer) As Workbook
' creates a new workbook with wsCount (1 to 255) worksheets
Dim OriginalWorksheetCount As Long
Set NewWorkbook = Nothing
If wsCount < 1 Or wsCount > 255 Then Exit Function
OriginalWorksheetCount = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = wsCount
Set NewWorkbook = Workbooks.Add
Application.SheetsInNewWorkbook = OriginalWorksheetCount
End Function

Can anybody give me some clues either on how to get this function to work
within a macro?

Just call it from another procedure:

Sub Create_A_New_Workbook_With_10_Sheets()
NewWorkbook 10
End Sub
 
A

Andrew

Brad & Beto,

Thanks for your assistance. I guess my problem was that I've never included
a function in any of my macros before. I'll give it a go, and see what I
come up with.


Thanks again.
Andrew
 

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