所以这是一个普遍问题,我确定之前已经询问过这个问题,但我无法找到很多帮助。如何限制Worksheet_Calculate()仅在计算指定范围时执行
在具有一个工作表范围的Excel说B6:F12是我有在Worksheet_Calculate()子程序有问题的计算结果全部
我的问题是,随着对worksheet_calculate这种非常通用代码子程序
Private Sub Worksheet_Calculate()
Dim aCell as Range
Dim aRange as Range
Set aRange = Range(B6:B12)
For Each aCell in aRange
SomeFunction(aCell)
Next
End Sub
这种情况发生在范围C6任何计算:F12通过人气指数发生和不必要的调用SomeFunction(aCell)导致迭代。
如何才能使此场景只发生在范围B6:B12上执行计算?
你可能有更具体一点。也许从您的数据中显示样本。何时进行计算?在你的代码中你有'B6:B12',但在你的问题中你有'C6:F12'和'B6:F12'。 – ShanayL
您是否只在范围'B6:B12'中有值时才运行该函数?如果它是你正在尝试的,使用'如果aCell <>“”然后'或[在单元格或范围更改](https://stackoverflow.com/questions/409434/automatically-execute-an-excel-macro-on单元格更改) – danieltakeshi
单独的计算在所有单元格B6:F12中执行,因此是35个不同的计算。当B6:B12中的计算发生时,我需要调用SomeFunction()。由于它随时都会调用工作表上任何位置的计算,因此SomeFunction()会通过迭代调用。 – Chris