
У меня есть документ Excel (2007) с диаграммой (кластеризованный столбец), которая получает ряд данных из ячеек, содержащих вычисленные значения.
Рассчитанные значения никогда не изменяются напрямую, а только в результате изменения других ячеек в листе.
Когда я изменяю другие ячейки на листе, ячейки ряда данных пересчитываются и показывают новые значения, но диаграмма, основанная на этом ряде данных, отказывается обновляться автоматически.
Я могу обновить диаграмму, сохранив/закрыв ее или изменив одну из настроек (например, поменяв местами оси x/y и вернув их обратно), или повторно выбрав ряд данных.
Все решения, которые я нашел в Интернете, не работают.
- I have Calculation set to automatic
- Ctrl+Alt+F9 updates everything fine, EXCEPT the chart
- I have recreated the chart several times, and on different computers
- I have tried VBA scripts like:
Application.Calculate
Application.CalculateFull
Application.CalculateFullRebuild
ActiveWorkbook.RefreshAll
DoEvents
Ни один из них не обновляет и не обновляет диаграмму.
Я заметил, что если я ввожу поверх своего ряда данных реальные числа вместо вычислений, диаграмма обновляется — как будто Excel не хочет распознавать изменения в вычислениях.
Кто-нибудь сталкивался с этим раньше или знает, что можно сделать, чтобы решить эту проблему? Спасибо
решение1
У меня та же проблема, что и у автора. И я уже попробовал все, что он сделал, и ничего из этого не сработало. Также я сейчас проверил параметры вычислений, и они были автоматическими, как и должно быть. Все остальное работает и вычисляется нормально, но эта диаграмма не обновляется при изменении данных (а данные вычисляются с помощью специальной функции, которая отделяет разноцветные числа от другого набора данных).
Я нашел временное решение и сделал макрос (и кнопку для него), который сначала обновляет данные аналогично Ctrl+Alt+F9, а затем переключает строки моей диаграммы на столбцы, а затем снова столбцы на строки. Странно, но работает.
Я использовал это, чтобы поменять их местами:
ActiveChart.PlotBy = xlColumns
ActiveChart.PlotBy = xlRows
Конечно, я бы предпочел найти настоящий способ исправить это, но пока это тоже сработало...
решение2
Не уверен насчет 2007, но там есть настройки, которые отключают автоматические расчеты. Посмотрите в параметрах расчетов и посмотрите, не установлен ли ручной режим.
решение3
Проверьте, установлено ли свойство ForceFullCalculation в свойствах ThisWorkbook на True. Я заметил, что диаграммы больше не обновляются автоматически, если указанное свойство установлено на True, я думаю, это побочный эффект. Если вы установите его обратно на False, все вернется к норме.