在VBA中循环遍历命名范围的更快方法

时间:2019-11-05 17:55:00

标签: excel vba

我正在尝试学习如何更快地遍历命名范围(可能通过计算表外),因为我知道在表上查找单元格引用非常慢。这是我尝试重新编写的代码的片段-有关以下方面的任何建议:1)如何在循环之前“更新”调用,以及2)如何有效地重新执行循环

foo

1 个答案:

答案 0 :(得分:2)

该VBA代码基本上是在模拟用户点击,而不利用很多对象模型。

熟悉Workbook.NamesWorksheet.Names,以及Excel.Name类:您可以通过{{1}获得Range所指的Name }}属性。

分配给RefersToRange会将公式分配给该范围内的每个单元格:

Range.Formula

无需明确地With ThisWorkbook.Names .Item("namedcell0").RefersToRange.Formula = "0" ' why is this a string literal? .Item("namedcell1").RefersToRange.Formula = c .Item("namedcell2").RefersToRange.Formula = d End With (假设计算模式是自动的-否则,考虑在编写所有公式之后仅计算一次)。