Я пытаюсь отфильтровать сводную таблицу, и это зависит от пользовательских критериев, которые всегда равны 12 значениям.vba case критерии для сводной таблицы
Чтобы создать критерии у меня есть диапазон возможных значений и следующий код создает новый столбец 1 или 0, один смысл включить в фильтре:
For i = 123 To 5 Step -1
Cells(i, 60).Value = 0
If Cells(i, 59).Value = Criterio Then Cells(i, 60).Value = 1
If Cells(i, 59).Value = Criterio Then Indicador = Indicador + 1
If Indicador > 0 And Indicador <= 12 Then Cells(i, 60).Value = 1
If Indicador = 1 Then PivotSelection = Criterio & Chr(34)
If Indicador > 1 And Indicador < 12 Then PivotSelection = PivotSelection & "," & Chr(34) & Cells(i, 59).Value & Chr(34)
If Indicador = 12 Then PivotSelection = PivotSelection & "," & Chr(34) & Cells(i, 59).Value
If Indicador > 0 Then Indicador = Indicador + 1
Next i
Так он возвращает строку типа: " 2012.01 "," 2012.02 "," 2012.03 ", ...," 2012.12 ".
Я думал, что лучший способ - фильтровать шарнир, используя CASE. Проблема заключается в том, что, когда я использую этот критерий в варианте CASE, он не работает:
ActiveSheet.PivotTables("Table").PivotFields("CLOSING_MONTH"). _
CurrentPage = "(All)"
With ActiveSheet.PivotTables("Table").PivotFields("CLOSING_MONTH")
For Each oPi In .PivotItems
If oPi = "(blank)" Then Exit For
Select Case oPi.Value
Case PivotSelection
If oPi.Visible = False Then oPi.Visible = True
Case Else
If oPi.Visible = True Then oPi.Visible = False
End Select
Next oPi
End With
Любая идея?
Если проблема заключается в двойные кавычки, то вы можете использовать 'Chr (34)' в VBA. 'Chr (34) & Criterio & Chr (34)' – Sam
I changed for: If Indicador = 1 Then PivotSelection = Chr (34) & Criterio & Chr (34) Если Indicador> 1 и Indicador <= 12 Then PivotSelection = PivotSelection & "," & Chr (34) & Cells (i, 59) .Value & Chr (34) Но окончательный результат все еще имеет двойную цитату: "" 2012.01 "," 2012.02 "", и статус дела не работает. .... – user3046441
Я изменяю код, чтобы избежать двойной цитаты, но случай все еще не работает ... – user3046441