Страницы: 1
RSS
Отметить в ListBox отфильтрованные значения из сводной таблицы
 

Добрый день!
Просьба помочь.
Я сделал форму с ListBox для удобной фильтрации данных в сводной таблице.
В ListBox можно отмечать значения и по нажатии ОК сводная таблица фильтруется согласно выбранных значений.

Но я не знаю как передать в ListBox значения уже установленных фильтров в сводной таблице.

Так как получается некрасиво. Таблица при первом открытии файла уже отфильтрована согласно предыдущих установок, а моя форма при первичном открытии получается девственно чистая, что не есть хорошо.


Как передать список уникальных значений в ListBox уже разобрался. А как отметить те которые уже отфильтрованы - не знаю.

Попробовал такой код

Код
Private Sub UserForm_Initialize()
Call RefreshListBoxDate
End Sub 

Код
Sub RefreshListBoxDate()
ListBox3.List = ModuleFilter.Extract_Unique("tbBasePLBS", "Дата")
With Worksheets("Свод_1").PivotTables("СводнаяТаблица2").PivotFields("[tbBasePLBS].[Дата].[Дата]")
For i = 1 To .PivotItems.Count
'MsgBox .PivotItems(i).Name & " Visible is " & CStr(.PivotItems(i).Visible)
ListBox3.Selected(i - 1) = .PivotItems(i).Visible
Next i
End With
End Sub

Но почему-то в PivotItems свойство Visible оказалось у всех True
Изменено: Troglodit - 07.08.2017 11:58:13
 
И еще, добрые люди.

Можете подсказать почему я не могу обратится к полю просто по имени в PivotFields написав ... PivotFields("Дата") (почему-то выдает ошибку, что объект не найден)
А нужно писать имя поля в PivotFields в таком виде ? (так пишет макрорекордер)

.PivotTables("СводнаяТаблица2").PivotFields("[tbBasePLBS].[Дата].[Дата]")
Изменено: Troglodit - 07.08.2017 12:01:49
Страницы: 1
Наверх