Я хочу изменить несколько полей в нескольких сводных листах.
Поэтому я создал новый Лист, где можно установить поля. Листы, поля и значения хранятся в двух массивах. Это мой код, он не будет работать на линии
.PivotFields(filterArr(i, 0)).CurrentPage = Sheets("Filter").[filterArr(i, 1)].Value
Может кто-нибудь сказать мне, почему?
Sub Filter_Change()
'Array for diffrent Sheets
Dim sheetArr As Variant
sheetArr = Array("Sheet1", "Sheet2")
'Multidimesional Array for diffrent Filters and their Values
Dim filterArr(10, 1)
filterArr(0, 0) = "Field1"
filterArr(0, 1) = C10
filterArr(1, 0) = "Field2"
filterArr(1, 1) = C11
'Go through each Sheet
For Each element In sheetArr
'Change every Filter in the Sheet
For i = 0 To 1
With Sheets(element).PivotTables(1)
.PivotFields(filterArr(i, 0)).CurrentPage = Sheets("Filter").[filterArr(i, 1)].Value
.PivotCache.Refresh
End With
Next i
Next element
End Sub