在 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,
巴勃罗