Excel VBA 自定义函数重新计算不起作用
Excel VBA custom functions recalculate not working
我在 VBA 中有一些自定义函数,我想用标准 excel 按钮重新计算 "Calculate Now" 和 "Calculate sheet"。整个工作簿已将 "calculate options" 设置为 "manual".
当我按下 "Calculate sheet" 按钮时,一切正常。我可以根据需要一张一张地重新计算表格。
如果我按"Calculate Now"按钮,就会出现问题。整个工作簿被重新计算,但无法再重新计算.既没有按钮 "Calculate Now",也没有 "Calculate Sheet".
我希望可以捕获 "Calculate Now" 事件,捕获它并将其调用到各个工作表的 "Calculate Sheet" 事件。或者在函数 Worksheet_Calculate()
之后为单元格设置一些标志以将它们注册到下一次重新计算。
Private Sub Worksheet_Calculate()
' Register all cells in sheet to next recalculation
End Sub
是否可以解决这个问题? 我想使用标准 excel 按钮进行重新计算。但我每次按下它们时都需要它们工作。
"Calculate Now" 和 "Calculate sheet" 的行为是设计使然。因为"Calculate Now"之后,都会计算。没有任何变化,不需要重新计算。但是 "Calculate sheet" 仅根据一些陈旧数据计算工作表。所以下次再计算。
建议您使用 "Application.AfterCalculate" 事件。它将在每 "Calculate Now".
后触发
希望对您有所帮助。
我在 VBA 中有一些自定义函数,我想用标准 excel 按钮重新计算 "Calculate Now" 和 "Calculate sheet"。整个工作簿已将 "calculate options" 设置为 "manual".
当我按下 "Calculate sheet" 按钮时,一切正常。我可以根据需要一张一张地重新计算表格。
如果我按"Calculate Now"按钮,就会出现问题。整个工作簿被重新计算,但无法再重新计算.既没有按钮 "Calculate Now",也没有 "Calculate Sheet".
我希望可以捕获 "Calculate Now" 事件,捕获它并将其调用到各个工作表的 "Calculate Sheet" 事件。或者在函数 Worksheet_Calculate()
之后为单元格设置一些标志以将它们注册到下一次重新计算。
Private Sub Worksheet_Calculate()
' Register all cells in sheet to next recalculation
End Sub
是否可以解决这个问题? 我想使用标准 excel 按钮进行重新计算。但我每次按下它们时都需要它们工作。
"Calculate Now" 和 "Calculate sheet" 的行为是设计使然。因为"Calculate Now"之后,都会计算。没有任何变化,不需要重新计算。但是 "Calculate sheet" 仅根据一些陈旧数据计算工作表。所以下次再计算。
建议您使用 "Application.AfterCalculate" 事件。它将在每 "Calculate Now".
后触发希望对您有所帮助。