0
我有一個包含多個字段的數據透視表。其中一個領域是評論。當我刷新表格時,註釋字段僅設置爲(空白)。我已經尋找了一種方法,使pivottable默認不選擇空白,但不是運氣。選擇所有的pivotitems並取消選擇(空白)
我寫下面的代碼來取消選中(空格)並選擇所有其他的pivotitems。代碼有效,但運行時間超過5分鐘。
任何關於如何加快代碼或更好的方式來取消選擇(空白)和全選的建議將不勝感激。
`Dim ary As Variant, RVary As Variant
Dim StartTime As Double
Dim SecondsElapsed As Double
StartTime = Timer
ary = Array("CM PSL", "NM PSL", "CQ PSL", "NQ PSL", "CM Country", "NM Country", "CQ Country", "NQ Country", "QTR Summary", "TY PSL", "TY Country")
RVary = Array("CMRVCS", "NMRVCS", "CQRVCS", "NQRVCS")
Application.ScreenUpdating = False
On Error Resume Next
For Each i In ary
Sheets(i).Activate
For Each j In RVary
With ActiveSheet.PivotTables("RVCS")
With .PivotFields(j)
For k = 2 To .PivotItems.Count
.PivotItems(k).Visible = True
Next k
.PivotItems(1).Visible = False
End With
End With
Next j
Next i
Erase array1
Erase RVCS
Application.ScreenUpdating = True
Sheets("CM PSL").Select
SecondsElapsed = Round(Timer - StartTime, 2)
MsgBox "This code ran successfully in " & SecondsElapsed & " seconds", vbInformation`
可以使它更快通過1)不激活所述片材(只是刪除該行)和2)將下面的行的對每個j行之前: 數據透視表(「RVCS」)ManualUpdate =真 ...然後在下一個J行後面添加: 數據透視表(「RVCS」)。ManualUpdate = False 停止數據透視表更新,直到完成所有更改。 – jeffreyweir