ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   RE Define Named Range. (https://www.excelbanter.com/excel-programming/387666-re-define-named-range.html)

DeveloperSQL

RE Define Named Range.
 
I need to programmatically redefine a named range (normally created On the
Insert menu, point to Name, and then click Define. Type the name e.g.
MyTable, select the range and then click OK.) in an excel file.
I need to change the range from e.g. A1:D18 to A1:D1.

How can this be done in C#? If you don't know C#, VB is ok too.

Vergel Adriano

RE Define Named Range.
 
I usually just do something like this in VBA

ActiveWorkbook.Names.Add "SampleName", "=$A$1:$D$1"


if SampleName doesn't exist yet, it creates it. If it already exists, then
it gets overwritten with the new reference.


--
Hope that helps.

Vergel Adriano


"DeveloperSQL" wrote:

I need to programmatically redefine a named range (normally created On the
Insert menu, point to Name, and then click Define. Type the name e.g.
MyTable, select the range and then click OK.) in an excel file.
I need to change the range from e.g. A1:D18 to A1:D1.

How can this be done in C#? If you don't know C#, VB is ok too.


DeveloperSQL

RE Define Named Range.
 
I don't seem to see any Names property of Excel._Workbook.

"Vergel Adriano" wrote:

I usually just do something like this in VBA

ActiveWorkbook.Names.Add "SampleName", "=$A$1:$D$1"


if SampleName doesn't exist yet, it creates it. If it already exists, then
it gets overwritten with the new reference.


--
Hope that helps.

Vergel Adriano


"DeveloperSQL" wrote:

I need to programmatically redefine a named range (normally created On the
Insert menu, point to Name, and then click Define. Type the name e.g.
MyTable, select the range and then click OK.) in an excel file.
I need to change the range from e.g. A1:D18 to A1:D1.

How can this be done in C#? If you don't know C#, VB is ok too.


Vergel Adriano

RE Define Named Range.
 
Sorry, I'm a VB guy.

FWIW, this worked with VB.NET. I have the Excel 11 Object Library.


Imports Microsoft.Office.Interop

Module Module1
Sub Main()
Dim xlapp As New Excel.Application
Dim xlwb As Excel.Workbook
xlapp.Visible = True
xlwb = xlapp.Workbooks.Add
xlwb.Names.Add("SampleName", "=$A$1:$D$1")
End Sub
End Module

--
Hope that helps.

Vergel Adriano


"DeveloperSQL" wrote:

I don't seem to see any Names property of Excel._Workbook.

"Vergel Adriano" wrote:

I usually just do something like this in VBA

ActiveWorkbook.Names.Add "SampleName", "=$A$1:$D$1"


if SampleName doesn't exist yet, it creates it. If it already exists, then
it gets overwritten with the new reference.


--
Hope that helps.

Vergel Adriano


"DeveloperSQL" wrote:

I need to programmatically redefine a named range (normally created On the
Insert menu, point to Name, and then click Define. Type the name e.g.
MyTable, select the range and then click OK.) in an excel file.
I need to change the range from e.g. A1:D18 to A1:D1.

How can this be done in C#? If you don't know C#, VB is ok too.



All times are GMT +1. The time now is 04:20 PM.

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