I'm new to arrays and how to use them correctly. I keep getting MyArray(i,1) = subscript out of range and it highlights the rows, where I put in those asterisks.
I want to minimize line count and make it more efficient, so I can pull the same array into different pivot to filter.
Sub Macro1()
Dim MyArray() As Variant
Dim i As Integer
'Populate the array.
MyArray = Array("I1", "I2", "I3")
'Filter based off array values
For i = 1 To UBound(MyArray)
* ActiveSheet.PivotTables("PivotTable1").PivotFields("letters "). _
* CurrentPage = MyArray(i, 1)
Next i
End Sub
My old code that I'm trying to make more efficient is:
Sub Macro1()
Sheets("NonDomestic").PivotTables("PivotTable1").PivotFields("letters "). _
CurrentPage = "(All)"
With Sheets("NonDomestic").PivotTables("PivotTable1").PivotFields( _
"dir sales ship cust cot ")
.ClearAllFilters
.PivotItems("A1").Visible = False
.PivotItems("B1").Visible = False
.PivotItems("C1").Visible = False
.PivotItems("C2").Visible = False
.PivotItems("D1").Visible = False
.PivotItems("D2").Visible = False
.PivotItems("D3").Visible = False
.PivotItems("D4").Visible = False
.PivotItems("D5").Visible = False
.PivotItems("D6").Visible = False
.PivotItems("D7").Visible = False
.PivotItems("E1").Visible = False
.PivotItems("F1").Visible = False
.PivotItems("F2").Visible = False
.PivotItems("F3").Visible = False
.PivotItems("F4").Visible = False
.PivotItems("F5").Visible = False
.PivotItems("F6").Visible = False
.PivotItems("F7").Visible = False
.PivotItems("G1").Visible = False
.PivotItems("G2").Visible = False
.PivotItems("G3").Visible = False
.PivotItems("G4").Visible = False
.PivotItems("G5").Visible = False
.PivotItems("H1").Visible = False
.PivotItems("H3").Visible = False
.PivotItems("H4").Visible = False
'.PivotItems("I1").Visible = False
'.PivotItems("I2").Visible = False
'.PivotItems("I3").Visible = False
End With
On Error GoTo 0