【问题标题】:Convert index Match formula to VBA将索引匹配公式转换为 VBA
【发布时间】:2019-05-17 22:30:15
【问题描述】:

我有一个数组公式,我用了大约。 600 行找到每行中的第一个 -ve,但是它显着减慢了工作表。

有没有办法可以转换为 VBA 函数来帮助加快工作表的速度?

=MATCH((INDEX(AN17:OI17,MATCH(TRUE,AN17:OI17<0,0))),AN17:OI17,0)

理查德

【问题讨论】:

  • 也许您可以解释一下您是如何使用它的。好像是一次性输入所有目标单元格的数组公式。
  • 试试这个简化的非数组公式:=MATCH(TRUE,INDEX(AN17:OI17&lt;0,),0)。我在 1000 行上对其进行了测试,它似乎在我的系统上没有减速。
  • 是的,要找到一行中第一个负数的列索引似乎需要大量的计算。
  • 据我所知,VBA 比公式慢,所以与其用 VBA 函数替换公式,不如尝试处理公式本身。

标签: arrays excel vba indexing match


【解决方案1】:

此外,运行宏后,您无法撤消任何操作。这让我在过去非常头疼。我会建议一个公式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-09
    • 1970-01-01
    • 2018-06-17
    • 2018-11-21
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 2017-11-30
    相关资源
    最近更新 更多