Выберите все сводные элементы и отмените выбор (пусто)
У меня есть сводная таблица с несколькими полями. Одно из полей для комментариев. Когда я обновляю таблицу, поле комментариев устанавливается только на (пустые). Я искал способ сделать сводную таблицу по умолчанию, чтобы не выбирать пробелы, но не удачу.
Я написал код ниже, чтобы снять отметки (пробелы) и выбрать все другие сводные элементы. Код работает, но занимает больше 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 ответ
Хорошо, у меня есть решение, которое сокращает время выполнения до 30 секунд. Вот новый цикл.
For Each i In ary
Sheets(i).Activate
For Each j In RVary
ActiveSheet.PivotTables("RVCS").PivotFields(j).ClearAllFilters
With ActiveSheet.PivotTables("RVCS").PivotFields(j)
.PivotItems("(blank)").Visible = False
End With
Next j
Next i