Проблема не решена, ответ ниже
У меня есть код, который отлично работал в последние месяцы.
В течение ночи между вчера и сегодня, пока никто не использовалкомпьютер (работает только автоматический код VBA) перестал работать.
Короче говоря, автоматический код VBA обновляет таблицу на листе 1, сводная таблица на листе 2 использует первые четыре символа времени и значение вв это время.
Пример (время 10:15) time = 10:1, value = 5555
. Причина обрезания последней минуты состоит в том, чтобы получить «округленное число», когда это масштабируется до месячных данных, лучше иметь 10: 1, чем 10:15, 10:16 и 10:17 и так далее.
После того, как данные находятся на листе 2, именованный диапазон используется для получения интересной части таблицы (две строки выше первого значения> 0 до конца таблицы), обычно это означает строку 35 ~ 40 и конец вряд 148-й.
=OFFSET(Blad2!$B$5,MATCH(TRUE,Blad2!$B$5:$B$148<>0,0)-3,0,MATCH(TRUE,Blad2!$B$5:$B$148="",0)-MATCH(TRUE,Blad2!$B$5:$B$148<>0,0)+2,1)
Этот именованный диапазон используется в диаграмме.
VBA, который по какой-то причине, начиная со вчерашнего дня, разрушает это:
ThisWorkbook.RefreshAll
ThisWorkbook.Sheets("Blad2").Calculate
ThisWorkbook.Sheets("Blad2").PivotTables("Pivottabell1").PivotFields("Datum").ClearAllFilters
ThisWorkbook.Sheets("Blad2").PivotTables("Pivottabell1").PivotFields("Veckodag").ClearAllFilters
Сводная таблица выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/KMHAZ.png)
То, что я делаю, - это изменение фильтра таблицы с того, что на рисунке показаны четверги и пятницы.
И для этого мне нужно сначала сбросить фильтры, затем выполнить цикл и сбросить все, кроме пятницы.
Но каккак только фильтр сброшен, динамические диапазоны перестают работать.
Что может вызвать это?