Итак, у меня есть таблица, которую я динамически обновляю после очистки от нее еженедельных данных, а затем диаграмма, которая отображает ее в виде конечных столбцов за 5 недель. Таблица будет выглядеть так:
week DPMO Threshold
20 3000 12000
21 3200 12000
22 3100 12000
Диаграмма отображается как: диаграмма
Каждую неделю после добавления новой строки в таблицу мне нужно вручную скрыть самую старую недель и покажет последнюю введенную неделю. У меня есть пара таблиц на других листах, для которых мне нужно сделать то же самое, и мне было интересно, могу ли я использовать VBA для автоматизации этого. Я пробовал следующее:
High = Sheets("2020 Process ID Info").Cells(Rows.Count, "B").End(xlUp)
Low = Sheets("2020 Process ID Info").Cells(Rows.Count, "B").End(xlUp).Offset(-5, 0)
ActiveSheet.ChartObjects("Chart 2").Activate
With ActiveChart.PivotLayout.PivotTable.PivotFields("Week")
.PivotItems(Low).Visible = False
.PivotItems(High).Visible = True
End With
Это работает для низкого числа, но с ошибками на высоком, и я не совсем уверен, почему. Используя окно сообщения, высокое значение распознается при добавлении новых номеров недель (номер недели - столбец B), а новые номера недель находятся в фильтрах диаграммы.
Если кто-нибудь знает, как создать диаграмму, которая динамически меняет столбцы на конечные недели, я бы хотел знать, как это сделать, спасибо