Solved

VB.Net - Excel Adding Worksheet Causing Error

Posted on 2013-12-13
3
495 Views
Last Modified: 2013-12-13
Good Day Experts!

I have a very odd happening in my little program here. Currently I am making 3 tabs for my Excel output.  I am trying to add a fourth one and it says you are outta luck...actually "invalid Index".  

Here is how I am doing it:

Dim oXL As Excel.Application
Dim oWB As Excel.Workbook
Dim oSheet As Excel.Worksheet
Dim oSheet2 As Excel.Worksheet
Dim oSheet3 As Excel.Worksheet
Dim oSheet4 As Excel.Worksheet

oWB = oXL.Workbooks.Add
oSheet = oWB.ActiveSheet
oSheet.Name = "Velocity"
oSheet2 = oWB.Worksheets(2)
oSheet2.Name = "Paradox"
oSheet3 = oWB.Worksheets(3)
oSheet3.Name = "Total"
oSheet4 = oWB.Worksheets(4)
oSheet4.Name = "5 Velocity Simplified"

It has started erroring when I added the above 2 lines for oSheet4.  When I comment those 2 lines it will not error!!!

Is there some limit or am I doing it wrong you think?

Thanks,
jimbo99999
0
Comment
Question by:Jimbo99999
3 Comments
 
LVL 49

Accepted Solution

by:
Rgonzo1971 earned 500 total points
ID: 39716785
Hi

3 Sheets is the initial default

First add another sheet

oWB.Sheets.Add After:=oWB.Sheets(oWB.Sheets.Count)

Open in new window

Or use before adding wbk
oXL.SheetsInNewWorkbook = 4

Open in new window

Regards
0
 

Author Closing Comment

by:Jimbo99999
ID: 39716825
That is so cool...I did not know that! Another excellent tip for the knowledge base.

Thanks,
jimbo99999
0
 
LVL 40
ID: 39718009
Be careful. 3 sheets is the default, but it can be changed in Excel Options, so you cannot always count on that value. On my system, the initial count is 1.

You should check oWB.Sheets.Count first, and then act accordingly. You might need to add more than one sheet is the initial count is less than 3, or remove extra sheets if the initial count is more than 4 and you do not want more than 4 sheets in the Workbook.
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I think the Typed DataTable and Typed DataSet are very good options when working with data, but I don't like auto-generated code. First, I create an Abstract Class for my DataTables Common Code.  This class Inherits from DataTable. Also, it can …
Introduction As chip makers focus on adding processor cores over increasing clock speed, developers need to utilize the features of modern CPUs.  One of the ways we can do this is by implementing parallel algorithms in our software.   One recent…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question