gpt4 book ai didi

vba - 当公式重新计算中仅特定 Excel 单元格发生更改时调用函数

转载 作者:行者123 更新时间:2023-12-02 18:41:10 47 4
gpt4 key购买 nike

据我所知,当工作表中任何单元格的值因公式重新计算而发生变化时,Worksheet_Calculate 就会被调用。

有没有办法让我只需要在公式重新计算中特定单元格发生更改时调用函数

最佳答案

要在特定单元格更改时发生某些操作,您需要在文件 Worksheet_Change(byval target as Range) 中嵌入相关的选择更改事件。当您的单元格更改时,我们可以重新计算工作表,如下所示:

Private Sub Worksheet_Change(byval target as range)

If target.address = Range("YourCell").Address Then Application.Calculate

End Sub

现在您要做的就是关闭其余时间的计算。如果您只想关闭单个工作表(而不是整个文件)上的计算,则需要在激活时关闭计算,并在停用时打开计算,例如

Private Sub Worksheet_Activate

Application.Calculation = xlCalculationManual

End Sub

Private Sub Worksheet_Deactivate

Application.Calculation = xlCalculationAutomatic

End Sub

当然,您重新计算的要求可能比上面的示例复杂得多。首先,您可以在相关工作表上打开文件,在这种情况下,您应该使用 Workbook_Open 事件来检测您的工作表,并相应地设置计算

那么您可能有几个需要某种计算的单元格。您想要关闭计算的原因可能是文件运行速度太慢。如果是这样,并且您正在识别所有输入单元格,则可以使用代码输入输出。一种方法是使用本指南输入公式 entering formulas in Excel Visual Basic 。然后,您可以将公式替换为计算值,例如Range("YourCell") = Range("YourCell").Value...因此阻止工作表中的公式数量不断增长

关于vba - 当公式重新计算中仅特定 Excel 单元格发生更改时调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631679/

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