如何在 Open Office VBA 中重新分配命名范围的地址?

Posted

技术标签:

【中文标题】如何在 Open Office VBA 中重新分配命名范围的地址?【英文标题】:How to reassign the address of a named range in Open Office VBA? 【发布时间】:2010-01-21 19:31:43 【问题描述】:

在 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,

巴勃罗

【问题讨论】:

无论你发现什么,我都表示同情:***.com/questions/1651901/… 我不是很了解 OO,但我想知道这种技术是否可行? ozgrid.com/Excel/DynamicRanges.htm @OOrang: 可以很好地解决这个特定问题,谢谢 我把它移到了一个答案,因为它有效:) 【参考方案1】:

我想知道this 技术是否可行?

【讨论】:

以上是关于如何在 Open Office VBA 中重新分配命名范围的地址?的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA 代码在 Open Office 中不起作用(列表中的代码复制文件)

如何禁止用户在 calc open office 中使用 saveas?

如何:打开 Visio 文档

如何在 Office VBA 编辑器中注释和取消注释代码块

自动从 Open Office Calc 发送电子邮件

VBA 在 Microsoft Word 中工作正常,但在 Libre Office 作家中无法工作如何修复 [关闭]