Я делал сценарий VBA, который извлекает лист Excel со страницы, копирует его на мою текущую страницу, затем применяет записанный макрос, который изменяет фильтры таблицы. Проблема возникает в фильтрах, где я получаю ошибку вне диапазона каждый раз, когда я запускаю сценарий.
Я предполагаю, что это происходит, поскольку элемент уже настроен на определенный фильтр, поэтому, если я перезапущу макрос, он не знает, как справиться с этой ситуацией.
Мне было любопытно, если бы кто-нибудь мог найти решение этой проблемы.
Sub FilterCES()
ActiveSheet.ListObjects("Stories").Range.AutoFilter Field:=27, Operator:= _
xlFilterValues, Criteria2:=Array(0, "6/3/2019")
ActiveSheet.ListObjects("Stories").Range.AutoFilter Field:=10, Criteria1 _
:="Released to Customers"
'Filer by Type:
ActiveSheet.ListObjects("Stories").Range.AutoFilter Field:=13, Criteria1 _
:=Array("full_trial", "renewal", "sale", "trial_to_sale"), Operator:= _
xlFilterValues
ActiveSheet.ListObjects("Stories").Range.AutoFilter Field:=15, Criteria1 _
:=Array("academic", "public_library", "schools"),
Operator:=xlFilterValues
ActiveSheet.ListObjects("Stories").Range.AutoFilter Field:=16, Criteria1 _
:=Array("Australia", "Canada", "Finland", "Germany", "Italy",
"Netherlands", _
"New Zealand", "United Kingdom (GB)", "United States", "Nordics",
"Norway", "Sweden", "Finland", "Denmark"), Operator:= _
xlFilterValues
End Sub
Я ожидал, что макрос просто изменит настройки на те, которые я выбрал, поскольку он использует автоматическую фильтрацию, но это не так, и я получаю ошибку вне диапазона.