2010-01-21 4 views
0

Excel VBA에서 Worksheet_Deactivate 이벤트에서Open Office VBA에서 명명 된 범위의 주소를 다시 할당하는 방법?

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

을 사용하여 명명 된 범위의 주소를 다시 정의합니다.

이렇게하면 스프레드 시트를 업데이트 한 후 MyDataRange는 항상 전체 데이터를 참조합니다. Excel에서 Ok를 사용했지만 Open Office VBA (OpenOffice.org 3.1.1/ OOO310m19 Build : 9420)로 마이그레이션하려고 시도했을 때 Range의 ".Name"속성이 정의되지 않았습니다.

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

행운 ("속성은 읽기 전용"오류입니다.)

다시 시도해 보았습니다.

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

이 작업은, 그 후에 명명 된 범위를 참조하는 유효성 검사가있는 모든 셀은 원래 참조를 잃어 버리고 팝업에 "# NAME #"을 표시합니다.

명명 된 범위의 주소를 잃지 않고 다시 할당 할 수있는 방법이 있습니까?

TIA,

파블로

+0

알아 낸 것이 무엇이든 내 동정심을 나타냅니다. http://stackoverflow.com/questions/1651901/what-do-i-need-to-do-in-order-to-get-openoffice-org-calc -Read-the-vba-code-in –

+1

저는이 기술이 효과가 있는지 궁금합니다. http://www.ozgrid.com/Excel/DynamicRanges.htm – Oorang

+0

@OOrang :이 특정 문제에 대해 잘 작동합니다. 덕분에 – PabloG

답변

관련 문제