首页 > 解决方案 > 将目标搜索宏观计算限制为工作表

问题描述

在运行以下目标搜索宏时,我正在寻求将 excel 计算限制在工作表中的帮助:

Sub GoalSeekRange()
For j = 2 To 100000
Cells(j, "BF").GoalSeek Goal:=Cells(j, "AY").Value, ChangingCell:=Cells(j, "AF")
   Next j
   End Sub

我已经在手动计算,但是对于每次迭代目标运行,它都会计算整个工作簿,极大地减慢了计算过程(我知道这是真的,因为我已经对其进行了测试并最终通过创建一个工作簿来避免它仅限此特定工作表)。

我可以在代码中包含任何内容来限制当前工作表的计算吗?我宁愿不必在每次需要运行此宏时都创建另一个工作簿。

非常感谢,

安德烈

标签: vbaworksheet

解决方案


将您的代码存放在里面:

Application.Calculation = xlCalculationManual
    'Your code here
Application.Calculation = xlCalculationAutomatic

此外,您Cells没有资格,这意味着这将默认为活动工作表。你应该用一张纸来限定你的单元格,而不是依靠ActiveSheet

关闭也不会受到伤害ScreenUpdating。( Application.ScreenUpdating = True/False)


推荐阅读