如何testing一个activesheet
这是我的代码
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Set Sh = ActiveSheet If ActiveSheet.Name = "Entrada" Then Application.Calculation = xlManual Else Application.Calculation = x1automatic End If End Sub
但所有的床单都要手动计算,最新的错误?
谢谢!
只是想一想你的Shvariables赋值。 当Sh被传入Workbook_SheetActivate
事件macros时,它就是被激活的工作表。 您不需要将其设置为活动工作表。 以下将始终将新激活的工作表的名称报告给立即窗口(包括新创build的工作表)。
Private Sub Workbook_SheetActivate(ByVal Sh As Object) Debug.Print Sh.Name End Sub
所以你的条件陈述可能会被收紧,
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "Entrada" Then ' do something here Else ' do something else here End If End Sub
您正试图在应用程序级别更改计算。 我猜你想使用
ActiveSheet.EnableCalculation = True ' or False
您设置为计算的值应该是: xlCalculationManual
和xlCalculationAutomatic
,而不是xlManual
和x1automatic
请参阅MSDN和此网站http://www.cpearson.com/excel/optimize.htm