View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Chip Pearson Chip Pearson is offline
external usenet poster
 
Posts: 7,247
Default (Name) vs Name properies for a worksheet

The Name property of a worksheet is what is displayed on the tabs and
is how the sheet is known to Excel (as in formulas). In the VBA
editor, the (Name) refers to the CodeName, which is how the sheet is
known internally to VBA. You can get the CodeName from a worksheet
object:

Debug.Print Worksheets("Sheet One").CodeName

but not the other way around (at least not directly). In most cases,
you can use the object's code name to prevent problems that might
arise if a user changes a sheet's name:

Worksheets("Sheet One").Range("A1").Value = 1234
' or
Sheet1.Range("A1").Value = 1234

The "Sheets" object contains all the sheets of all types (worksheets,
chart sheets, macro sheets, dialog sheets) while Worksheets contains
only worksheets.

Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group, 1998 - 2009
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)




On Mon, 5 Jan 2009 13:30:06 -0800, rogge
wrote:

How do I change and address/access the "(Name)" property of a sheet with VBA;
this property is only 'visible' in the VBA properties window, it is not
visible in the object browser?

This property is not the same as "Name" which is also shown on the tab.

My code creates sheets during a simulation. Currently the user can delete
the programatically created sheets, but this will also delete any user
created sheets. I want to use the "(Name)" property to control which sheets
are deleted.

Pseudo code....

if sheet.name < "KeepThisSheet0" And sheet.name < "KeepThisSheet1" then
sheet.delete


Also, what are the differences between the objects "Sheets" and "Worksheets"


Windows XP, Excel 2007

Thank you all very much!