Вопрос: у меня есть две таблицы (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
Не могли бы вы посоветовать, что мне делать?Этот разрешающий код не содержит пароля.Нужно ли вводить пароль в код?Я прочитал несколько статей о том, что лучше не вводить пароль в код.