Home » excel » excel – Get sheet name from a named range's Name object

excel – Get sheet name from a named range's Name object

Posted by: admin March 9, 2020 Leave a comment

Questions:

I have:

Microsoft.Office.Interop.Excel.Workbook wb;
Microsoft.Office.Interop.Excel.Name name;

Is there any way to get the worksheet name that the named range is on in the given workbook, assuming I’ve gotten the named range’s Name object and wb already?

How to&Answers:

Yes, use the Parent property to work your way up the object hierarchy:

ws = name.RefersToRange.Parent.name;

Answer:

Range.Worksheet is a self-documenting alternative to Range.Parent:

string wsName = name.RefersToRange.Worksheet.Name;

(Or in 2 steps:

Microsoft.Office.Interop.Excel.Worksheet ws = name.RefersToRange.Worksheet;
string wsName = ws.Name;

)

Reference:
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.name.referstorange.aspx
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.range.worksheet.aspx
http://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel._worksheet.name(v=office.15).aspx

Answer:

wb.Names(name).RefersToRange.Parent.Name