我需要重写此代码以进行计算,而无需选择“ Random_Cal”表。
Sheets("Random_Cal").PivotTables("PivotTable3").PivotCache.Refresh
Sheets("Random_Cal").Select
ActiveSheet.PivotTables("PivotTable3").PivotFields("3a").PivotFilters.Add Type _
:=xlValueIsBetween, DataField:=ActiveSheet.PivotTables("PivotTable3"). _
PivotFields("3b"), Value1:=1, Value2:=Range("AI52")
所有代码均有效,但激活代码的按钮与“ Random_Cal”在另一张纸上。当前,当按下按钮时,屏幕跳至“ Random_Cal”,然后跳回到起始页。我只需要更改此部分代码以保留在第一张纸上,但要计算“ Random_Cal”纸即可。谢谢
答案 0 :(得分:3)
使用With With ... End With块,将父级工作表引用传递给。
with workSheets("Random_Cal")
.PivotTables("PivotTable3").PivotCache.Refresh
.PivotTables("PivotTable3").PivotFields("3a").PivotFilters.Add _
Type:=xlValueIsBetween, DataField:=.PivotTables("PivotTable3"). _
PivotFields("3b"), Value1:=1, Value2:=.Range("AI52")
end with