-1

У меня есть простой код VBA, который запускается каждый раз, когда открывается мой файл Excel, и он работал отлично в течение многих лет. Через несколько недель он перестал работать. Цель состоит в том, чтобы определенные ячейки на каждом листе были заблокированы при каждом открытии файла Excel, и чтобы была кнопка, которая, если я нажму на, разблокирует все сразу.

Теперь, когда я открываю файл Ecxel, я получаю это сообщение:

Это на французском языке и означает: ошибка компиляции, метод члена или данные не могут быть найдены

Затем я говорю ОК, и он открывает режим отладки:

Наконец, когда я захожу на sheet36 (это моя сводная страница, где появляется кнопка для разблокировки листов) и нажимаю на кнопку, которая снимает защиту со всех листов, я ввожу пароль и получаю ошибку 1004:

На английском языке: Ошибка выполнения «1004»: неверный пароль. Убедитесь, что ключ CAPSLOCK не активирован и что вы используете правильный регистр.

Также код для защиты и снятия защиты всех моих листов, кажется, имеет проблему, потому что листы не защищены, когда я впервые открываю файл. Вот код: введите описание изображения здесь

Определенные ячейки на всех листах должны быть заблокированы, когда мы открываем файл, и на листе 36 есть одна кнопка, которая разблокирует все с помощью пароля. Но в выключенном состоянии на листе 36 появляется только "кнопка снятия защиты".

Любая помощь очень ценится, спасибо.

1 ответ1

0

Чтобы избавиться от ошибки, нужно сделать следующее:

Sheets("Feuil36").Shapes("CommandButton2").Visible = False

Как это устроено:

  1. Нажмите Alt+F11 чтобы открыть редактор VB.
  2. В меню «Вид» найдите и нажмите « Немедленное окно».
  3. Либо напишите, либо Copy & Paste указанный выше код в Immediate Window и завершите, Enter.

Или же

Вы также можете использовать макрос.

Sub ButtonHideUnHide()
Dim ws As Worksheet
Set ws = feuil36
With ws
    .Shapes("CommandButton2").Visible = msoFalse
    .Shapes("CommandButton1").Visible = msoTrue

End With
End Sub

Примечание. Названия событий, листов и командных кнопок доступны для редактирования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .