在Excel VBA中,我使用以下命令重新定义命名范围的地址:
Ranges("MyRange").Cells(1).CurrentRegion.Name = "MyRange"
在Worksheet_Deactivate事件中。
这样,在更新电子表格后,MyDataRange始终引用整个数据。 确定Excel,但是当我尝试将其迁移到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,
巴勃罗