gpt4 book ai didi

vba - 如何编写与 INDIRECT 函数等效的 Excel VBA 代码?

转载 作者:行者123 更新时间:2023-12-01 16:52:16 25 4
gpt4 key购买 nike

我在工作簿中多次使用了 INDIRECT 函数,它导致了性能问题。我需要用能给我相同结果的东西替换它们。每当发生任何更改时,所有间接都会重新计算,从而导致工作簿滞后。

我想知道是否有一种方法可以在 VBA 中编写 INDIRECT 代码而不实际使用 INDIRECT 函数,并消除代码中函数的波动性。

 =INDIRECT("'" & $AC$9 & "'!" & AC26)

这是一个例子。我需要删除 INDIRECT 但对此单元格得到相同的结果。有没有办法在 VBA 中实现这一点?

最佳答案

你可以试试这个。

将以下例程放入标准代码模块中:

Public Function INDIRECTVBA(ref_text As String)
INDIRECTVBA = Range(ref_text)
End Function

Public Sub FullCalc()
Application.CalculateFull
End Sub

将公式中的 INDIRECT 函数替换为 INDIRECTVBA

这些将是静态的。如果您的工作簿速度缓慢是因为您的间接不断评估,那么这将结束这种情况。

重要提示:所有包含使用 INDIRECTVBA 的公式的单元格都将是静态的。每个公式都会在您确认后进行计算,但当先例发生变化时不会重新计算。

然后,您将需要一种方法来强制它们在方便的时间重新计算。您可以从功能区执行此操作。或者,您可以运行 FullCalc

关于vba - 如何编写与 INDIRECT 函数等效的 Excel VBA 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33305508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com