В макросе Excel мне нужно снять защиту с листа, обновить данные, а затем защитить лист. Следующие работы:Обновление и защита данных макросов Excel
Dim rs As Worksheet
For Each rs In Worksheets
rs.Unprotect Password:="SomePassword"
Next rs
ActiveWorkbook.RefreshAll
Это не:
Dim rs As Worksheet
For Each rs In Worksheets
rs.Unprotect Password:="SomePassword"
Next rs
ActiveWorkbook.RefreshAll
For Each rs In Worksheets
rs.Protect Password:="SomePassword"
Next rs
Выдает следующую ошибку:
The cell or chart you are trying to change is protected and therefore read-only.
Я пробовал много способов, чтобы задержать продолжающуюся макросы до обновления закончен, но ничего не сработало. Я просмотрел методы на этом форуме и не нашел ничего такого. Что будет работать?
Ни работаю. Я подключаюсь к Excel spreasheet как «Другой источник данных» и запускает sql-запрос. Я забыл сказать, что первоначально, если это имеет значение. – Rich
@Rich Это не имеет значения. У меня есть много рабочих листов, которые соединяются с базами данных и рабочими таблицами, а также с использованием ADO, а в одном я также использую подпрограммы защиты и защиты (private subs). Я не сталкиваюсь с той же проблемой. – L42