Именованный диапазон с адресом из другого именованного диапазона

У меня есть код, как показано ниже, я хотел бы добавить именованный диапазон, адрес которого связан с другими именованными диапазонами, ниже кода не работает, заранее заблаговременно для всех идей.

ActiveWorkbook.Names.Add _ Name:="somerange", _ RefersTo:="=Sheet1!Cells(Range("namedrange1").row-5,Range("namedrange2").column)" 

С именованным диапазоном namedrange1, определенным как RefersTo:=Sheet2!$B$7 с областью рабочей книги и именованным диапазоном namedrange2, определенным как RefersTo:=Sheet3!$D$10 с областью рабочей книги, это определит новый именованный диапазон с именем somerange с RefersTo:=Sheet1!$D$2 с объемом рабочей книги.

 With ActiveWorkbook With .Worksheets("Sheet1") With .Cells(Range("namedrange1").Row - 5, Range("namedrange2").Column) .Name = "somerange" End With End With End With 

Предоставление namedrange1 – это определенный именованный диапазон, который вы просто пишете, поскольку вы будете иметь нормальную формулу:

ActiveWorkbook.Names.Add "somerange", "=OFFSET(Sheet1!NamedRange1,-5,0,1)"

В вашем коде вы можете ссылаться на два отдельных листа – Sheet1.Cells и ActiveSheet.Range – если вы явно не ссылаетесь на имя листа, он будет использовать активный лист. Вы эффективно пишете: "=Sheet1!Cells(ActiveSheet.Range("namedrange1").row-5,ActiveSheet.Range("namedrange2").column)"

Изменить: также ваш код, кажется, представляет собой комбинацию формулы и кода VBA – Sheet1! используется для ссылки на другой лист в формуле, Cells является ссылкой типа VBA, как и .Row и .Column

Edit 2: вы также можете использовать: ActiveWorkbook.Names.Add "SomeOtherRange", "=" & Sheet1.Range("NamedRange1").Offset(-5).Resize(1).Address но это будет жестко ActiveWorkbook.Names.Add "SomeOtherRange", "=" & Sheet1.Range("NamedRange1").Offset(-5).Resize(1).Address адрес – когда вы проверяете свои именованные диапазоны, это будет выглядеть примерно так: =Sheet1!$I$5 (если ваш именованный диапазон запущен в ячейке $ I $ 10).

Interesting Posts

Изменение COUNT в COUNTIF для подсчета 100 значений на нескольких листах

Окраска частичного текста в ячейках в Excel

C # Как обновить диаграмму Powerpoint без открытия Excel

VBA Excel. Есть ли способ удалить строки на основе критериев в двух столбцах?

Пользовательское контекстное меню контекстного меню excel перезаписывается по умолчанию по умолчанию для Quick Analysis

Excel VBA – объединение нумерованного списка в строки местоположения (например, 2.5.3.1.)

Диапазон VBA Sum, включая вариант

ошибка времени выполнения '1004': диапазон методов объекта _workheet failed EPM BPC VBA

VBA Excel – настройка данных диаграммы из памяти

Сохранять конечные нули в формуле соответствия регулярному выражению

VBA Ошибка при отправке почты (Office 2013)

Как я могу открыть текущий экземпляр Excel из моего приложения?

Excel: объединение OFFSET с CELL

Чтение файла xlsx int vb.net VS 2012

php Импорт таблицы Excel в mysql cakephp 1.3

Давайте будем гением компьютера.