Как автоматически обновить сводные таблицы на защищенном листе - PullRequest
0 голосов
/ 13 декабря 2018

Вопрос: у меня есть две таблицы (A & B) в моей книге, каждый лист содержит несколько таблиц и 3 сводных таблицы.Я использовал приведенный ниже код для автоматического обновления этих сводных таблиц при каждом щелчке / обновлении ячейки в этих таблицах.Это сработало.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
PivotTables("001").RefreshTable
PivotTables("002").RefreshTable
PivotTables("003").RefreshTable
End Sub

Теперь, как сохранить ту же функцию обновления после защиты этих листов паролем?

Чтобы проверить, я защитил только рабочий лист А по паролю.Затем я поместил этот код ниже (найден на форуме) в модуль ThisWorkbook.

Private Sub Workbook_Open()
With Me.Worksheets("A")
    .AllowPivotTable = True
    .Protect Contents:=True, UserInterfaceOnly:=True, _
        AllowUsingPivotTables:=True
End With

End Sub

После закрытия книги и ее повторного открытия программа выдает сообщение об ошибке:

«ошибка времени выполнения 438, объект не поддерживает это свойство или метод»

для строки кода .AllowPivotTable = True

Не могли бы вы посоветовать, что мне делать?Этот разрешающий код не содержит пароля.Нужно ли вводить пароль в код?Я прочитал несколько статей о том, что лучше не вводить пароль в код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...