Не удается установить фильтр в сводной таблице - ошибка 424 - PullRequest
0 голосов
/ 09 апреля 2020

Я работаю над файлом с сводной таблицей. Мне нужно выбрать какой-то фильтр с помощью VBA, поэтому я использовал «рекордер макросов», чтобы сделать эту часть. Весь макрос, запускаемый из определенной c рабочей книги (назовем его основной файл ), выполняет следующие действия:

  1. запрашивает папку
  2. для каждого файла в папке откройте файл
  3. выберите данный лист
  4. установите фильтры (см. ниже)
  5. сохраните некоторые данные в main file

Как только я нахожусь в только что открытой рабочей книге, я хочу это сделать

Set wb = Workbooks.Open(strFolder & strFileName)
wb.Activate
ActiveWorkbook.Worksheets("abcdfg").Select

With ActiveWorkbook.SlicerCaches("Slicer_1")
    .SlicerItems("item1").Selected = True
    .SlicerItems("item2").Selected = False
    .SlicerItems("item3").Selected = False
End With

'With AcvtiveSheet.PivotTables("my_table_name") EDIT : deleted, see comments
With ActiveSheet.PivotTables("my_table_name")
    .PivotFields("name1").CurrentPage = "value1"
    .PivotFields("name2").CurrentPage = "value2"
    .PivotFields("name3").CurrentPage = "value3"
End With

Первая часть с SlicerCaches работает хорошо. Но я не могу go через вторую часть. Я получил ошибку 424 «Требуется объект». Однако, она работает, не всегда , когда я запускаю эту часть из модуля в книге, содержащей таблицу (не из основного файла ) .

У вас есть идея, чтобы решить эту проблему?

Большое спасибо за вашу помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...