Ветеран
Сообщения: 27449
Благодарности: 8087
|
Профиль
|
Отправить PM
| Цитировать
Цитата Хоф:
Мне нужно создать именованный диапазон с привязкой на конкретную ячейку (на листе в эксель)
если делать это через Вставка - имя - присвоить то в коде даётся выражение activeworkbook.names.add name ...... referstoR1C1 = R100C5
а мне нужно чтобы вместо ссылки вида R1C1 было в виде (А100:Е5) или cells(100,5). »
|
Вы можете использовать RefersTo/ RefersToLocal:
Код:
ActiveWorkbook.Names.Add Name:="MyName", RefersTo:="=Лист1!$B$5"
хотя, в общем случае, ссылки вида R1C1 использовать гораздо практичнее.
Цитата Хоф:
я хочу уйти от refersToR1C1 и задавать этот диапазон в виде:
ActiveWorkbook.Names.Add Name:="буйвол_Дортмунд", RefersTo.. := _
"=Лист1!cells(row,column).select
или
ActiveWorkbook.Names.Add Name:=perenennaya, RefersTo := _
"=Лист1!range("A" & "peremennaya2")
где peremennaya принимает значения имени будующей именованной области
а peremennaya2 - номер строки будущей именованной области. »
|
Например:
Код:
strNameName = "MyName"
ActiveWorkbook.Names.Add Name:= strNameName, RefersTo:="=" & ActiveSheet.Name & "!" & ActiveCell.Address()
читать дальше »
Цитата:
Код:
' Пример беру специально - БРЕДОВЫЙ, мне важен сам сиснтаксис "механизма именования"
Sheets(1).Select
novdiap = InputBox("Введите новую единицу техники, для проведения мер противоугона")
' вводимое имя - трактор Петровича
' так не работает - пишет ошибка 1004 - данное имя недопустимо.
Range("A31").Select
t = ActiveCell.Row
ActiveWorkbook.Names.Add Name:="novdiap", RefersTo:=ActiveCell(t, 1).Select '-не работает
ActiveWorkbook.Names.Add Name:=novdiap, RefersTo:=ActiveCell(t, 1).Select ' - не работает
|
Во-первых, «Name:="novdiap"» создаст Имя с именем «novdiap», а это явно не то, чего Вы хотели. Во-вторых, не работает, потому что Вы пытаетесь присвоить параметру «RefersTo», который ожидает увидеть строку со ссылкой, непонятно что — ибо метод «Select» объекта «Range» (свойство «ActiveCell» возвращает объект «Range»; умолчальный метод «Item», применённый к последнему, также возвращает объект «Range») ничего не возвращает.
Здесь Вы вроде как исправили во-первых, однако имя не должно содержать как минимум пробелов, потому попытка использовать переменную «novdiap» со значением «трактор Петровича» приведёт к закономерной ошибке исполнения.
Я так понимаю, Вы пока ещё просто путаетесь в объектной модели Excel.
|
Отправлено: 03:15, 02-10-2012
| #7
|