2010-01-21 6 views
0

В Excel VBA, я переопределить адрес именованного диапазона с:Как переназначить адрес именованного диапазона в Open Office VBA?

Ranges("MyRange").Cells(1).CurrentRegion.Name = "MyRange" 

в случае Worksheet_Deactivate.

Таким образом, после обновления таблицы MyDataRange всегда ссылается на все данные. Хорошо с Excel, но когда я попытался перенести это на Open Office VBA (OpenOffice.org 3.1.1/ OOO310m19 Build: 9420), свойство «.Name» диапазона не определено.

Затем я попытался с:

ThisWorkbook.Names("MyDataRange").RefersTo = Range("MyDataRange").Cells(1).CurrentRegion 

не повезло ("свойство только для чтения" ошибка)

Опять же, я попытался с:

ThisWorkbook.Names.Add ("MyDataRange", Range("MyDataRange").Cells(1).CurrentRegion) 

Это работает, но после этого все ячейки с проверками, которые ссылаются на именованный диапазон, теряют исходную ссылку и показывают «# NAME #» во всплывающем окне.

Есть ли способ переназначить адрес именованного диапазона без потери ссылок на него?

ТИА,

Пабло

+0

Что бы вы ни выяснили, у вас есть мои симпатии: http://stackoverflow.com/questions/1651901/what-do-i-need-to-do-in-order-to-get-openoffice-org-calc -to-read-the-vba-code-in –

+1

Я не очень-одинок, но мне интересно, будет ли эта техника работать? http://www.ozgrid.com/Excel/DynamicRanges.htm – Oorang

+0

@OOrang: это отлично работает для этой конкретной проблемы, спасибо – PabloG

ответ

Смежные вопросы