Я создал сводную таблицу, чтобы суммировать некоторую информацию и добавил некоторые формулы, смежные с сводной таблицей, чтобы делать вычисления на числах, включенных в нее. Я создал макрос, который повторно вводит формулы, когда пользователь изменяет размер сводной таблицы (в событии PivotTableUpdate), показывая или скрывая различные строки/столбцы данных.Как подавить сообщение Excel для любого обновления сводной таблицы?
Моя проблема заключается в том, что всякий раз, когда столбцы данных добавляются в сводную таблицу, он спрашивает меня: «Вы хотите заменить содержимое ячеек назначения?» Я всегда нажимаю «да», потому что, хотя ячейки будут перезаписаны, когда сводная таблица будет расширяться, формулы будут снова введены в их правильную ячейку, и все будет исправлено и отформатировано соответствующим образом макросом.
Поэтому я хотел бы знать, где я должен поставить application.displayalerts = false
, чтобы было эффективно подавлять окно сообщения всякий раз, когда пользователь расширяет сводную таблицу.
Не думаю, что вы можете подавить оповещение таким образом. Было бы иначе, если бы обновление PT было вызвано в коде. Как бы то ни было, к тому времени, когда вызывается «PivotTableUpdate», слишком поздно. Обход, который вы можете попробовать, - это изменить макрос, чтобы поместить формулы в безопасное место в несколько столбцов справа и скрыть пробел между PT и формулами. –
Я надеялся найти отдельное событие, чтобы прикрепить код, который будет происходить до отображения сообщения. Тем не менее, я пробовал использовать события «PivotTableBeforeAllocateChanges», «PivotTableBeforeCommitChanges» и «PivotTableBeforeDiscardChanges» без какой-либо удачи. Я предполагаю, что никаких других событий, которые могут произойти до появления сообщения, не произойдет. Если это так, я полагаю, мне придется использовать предлагаемое решение. – tlewis3348