ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Excel worksheets and VB .NET (https://www.excelbanter.com/excel-programming/308528-excel-worksheets-vbulletin-net.html)

Christopher Kain

Excel worksheets and VB .NET
 
Hi, I need to conditionally rename a worksheet in an excel 2000 workbook.
I have the following piece of code:
application.excel.worksheets("SheetName").Name = "NewSheetName"

which works to rename it. However, if SheetName doesn't exist or has been
renamed the program throws and exception. How can I check to make sure that
a sheet exists in the sheets collection?



Doug Glancy

Excel worksheets and VB .NET
 
Christopher,

I think you should take a look at Exception Handling (Try, Catch and Finally
or something like that) in VB.Net and catch the exception and deal with it
in VB.Net.

hth,

Doug Glancy

"Christopher Kain" wrote in message
...
Hi, I need to conditionally rename a worksheet in an excel 2000 workbook.
I have the following piece of code:
application.excel.worksheets("SheetName").Name = "NewSheetName"

which works to rename it. However, if SheetName doesn't exist or has been
renamed the program throws and exception. How can I check to make sure

that
a sheet exists in the sheets collection?





Tom Ogilvy

Excel worksheets and VB .NET
 
it probably takes more code to check than to ignore the error

on error resume next
ActiveWorkbook.worksheets("SheetName").Name = "NewSheetName"
on error goto 0

dim sh as Worksheet
set sh = nothing
if you must check
on error resume next
set sh = ActiveWorkbook.worksheets("Sheetname")
On error goto 0
if not sh is nothing then
' sheet exists
Activeworkbook.worksheets("SheetName").Name = "NewSheetName"
End if

another approach is to loop through all the sheets to see if any has that
name.

--
Regards,
Tom Ogilvy

"Christopher Kain" wrote in message
...
Hi, I need to conditionally rename a worksheet in an excel 2000 workbook.
I have the following piece of code:
application.excel.worksheets("SheetName").Name = "NewSheetName"

which works to rename it. However, if SheetName doesn't exist or has been
renamed the program throws and exception. How can I check to make sure

that
a sheet exists in the sheets collection?





Tom Ogilvy

Excel worksheets and VB .NET
 
didn't see the vb .Net in your subject - just read your posting - best to
put all pertinent information in the body of the email.

Nonetheless, perhaps you can incorporate the error handling into your code.

--
Regards,
Tom Ogilvy

"Tom Ogilvy" wrote in message
...
it probably takes more code to check than to ignore the error

on error resume next
ActiveWorkbook.worksheets("SheetName").Name = "NewSheetName"
on error goto 0

dim sh as Worksheet
set sh = nothing
if you must check
on error resume next
set sh = ActiveWorkbook.worksheets("Sheetname")
On error goto 0
if not sh is nothing then
' sheet exists
Activeworkbook.worksheets("SheetName").Name = "NewSheetName"
End if

another approach is to loop through all the sheets to see if any has that
name.

--
Regards,
Tom Ogilvy

"Christopher Kain" wrote in message
...
Hi, I need to conditionally rename a worksheet in an excel 2000

workbook.
I have the following piece of code:
application.excel.worksheets("SheetName").Name = "NewSheetName"

which works to rename it. However, if SheetName doesn't exist or has

been
renamed the program throws and exception. How can I check to make sure

that
a sheet exists in the sheets collection?








All times are GMT +1. The time now is 09:23 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com