2017-07-18 57 views
2

我正在尝试创建一个VBA,它将设置为自动计算的表内的特定列/列的范围设置为手动。VBA来计算表中的特定选择(excel)

因为仪表板已经很慢了,我不希望这些特定的列/范围自动计算,就像表格的其余部分一样。 我正在使用此vba,但是当我第一次将我的cust#加载到我的Excel仪表板时,我的整个表格仍然自动计算。

Sub Recalc() 
Selection.Calculate 
End Sub 

任何想法?

+0

'Selection.Calculate'重新计算的选择,它不会关闭计算该选择。人们只能关闭整个应用程序的计算,而不是特定的范围。 –

+0

这回答我的问题,谢谢。 – Coopa

回答

2

您不能直接将计算开启或关闭到特定的部分,它必须适用于应用程序。您最好的办法是关闭应用程序的所有计算,然后设置一个更改宏,以便在发生特定范围变化时重新计算。这将需要在您的VBA编辑器的相应表部分写入,把模块

例子:

Private Sub Worksheet_Change(ByVal Target As Range) 

If Not Intersect(Target, Range("B3:Z100")) Is Nothing Then 
Range("B3:Z100").Calculate 
End If 

End Sub