У меня есть простой код VBA, который запускается каждый раз, когда открывается мой файл Excel, и он отлично работал годами. Через несколько недель он перестал работать. Цель состоит в том, чтобы определенные ячейки на каждом листе блокировались при каждом открытии файла Excel, и чтобы была кнопка, которая, если я нажму на, разблокирует все сразу.
Теперь, когда я открываю файл Ecxel, я получаю это сообщение:
Это на французском языке и означает: ошибка компиляции, метод члена или данные не могут быть найдены
Затем я говорю ОК, и он открывает режим отладки:
Наконец, когда я захожу на sheet36 (это моя сводная страница, на которой появляется кнопка разблокировки листов) и нажимаю на кнопку, которая снимает защиту со всех листов, я ввожу пароль и получаю ошибку 1004:
На английском языке: Ошибка выполнения «1004»: неверный пароль. Убедитесь, что ключ CAPSLOCK не активирован и что вы используете правильный регистр.
Также код для защиты и снятия защиты всех моих листов, кажется, имеет проблему, потому что листы не защищены, когда я впервые открываю файл. Вот код: введите описание изображения здесь
Предполагается, что определенные ячейки на всех листах будут заблокированы при открытии файла, и на листе 36 есть одна кнопка, которая разблокирует все с помощью пароля. Но в выключенном состоянии на листе 36 появляется только «кнопка снятия защиты».
Любая помощь очень ценится, спасибо.
источник
sh
переменную, а вторая, если вы можете очистить то, что естьFeuil36
!! RaCommandButton2
в листеFeuil36
не может быть найдено.Ответы:
Чтобы избавиться от ошибки, нужно сделать следующее:
Как это устроено:
Alt+F11
чтобы открыть редактор VB.Copy & Paste
выше написанный кодImmediate Window
и закончите сEnter.
Или же
Вы также можете использовать макрос.
Примечание. Названия событий, листов и командных кнопок доступны для редактирования.
источник
ME.Commandbutton1
выдает ошибку, если вы не определили ееMe
как Лист. ОбычноME
используют дляUSER FORM
. 2. То, как вы пытаетесь использовать команду для защиты листа, неверно, так и должно бытьwSheet.Protect Password:="Secret"
.