Как удалить модуль в vba excel
Обновлено: 23.11.2024
Удалите модуль макроса VBA из Excel с помощью этого макроса. Этот макрос позволяет полностью удалить модуль макроса из Excel. Это здорово, когда вам нужно быстро очистить макросы, vba или просто оставшиеся модули в Excel. Вы должны быть осторожны, чтобы не удалить модуль, содержащий важный код. Это отличный и очень мощный макрос.
Чтобы использовать этот макрос, вам нужно сделать две вещи. Во-первых, замените Module1 на имя фактического модуля, который вы хотите удалить. Если вы хотите, вы можете включить это в цикл, чтобы удалить все модули из книги в Excel. Во-вторых, вам необходимо включить доступ к объектной модели проекта vba -> В предыдущих версиях Excel перейдите в Инструменты > Макрос > Безопасность. Надежные издатели установите флажок рядом с «Доверять доступ к редактору Visual Basic». В Excel 2007 выберите Кнопка Office > Параметры Excel > Центр управления безопасностью > Параметры центра управления безопасностью > Настройка макроса и установите флажок "Доверять доступ к объектной модели проекта VBA".
Где установить макрос: Модуль
Макрос Excel для удаления модуля VBA из Excel
Sub Delete_Module()
Затемнить vbCom как объект
Установите vbCom = Application.VBE.ActiveVBProject.VBComponents
vbCom.Remove VBComponent:= _
vbCom.Item("Module1")
Курс Excel VBA — от новичка до эксперта
200+ видеоуроков 50+ часов обучения 200+ руководств Excel
С помощью этого онлайн-курса станьте мастером VBA и макросов в Excel и узнайте, как автоматизировать все свои задачи в Excel. (Опыт работы с VBA не требуется.)
Открыть презентацию PowerPoint из Excel
Макрос: этот бесплатный макрос для Microsoft Excel позволяет открывать любую презентацию PowerPoint отсюда.
Открытие документа Word из Excel.
Макрос. Этот макрос Microsoft Excel открывает документ Microsoft Word из Excel. С этим м.
Открытие PDF из Excel
Учебное пособие: как открыть файл PDF с помощью нажимаемой кнопки, ссылки или изображения в Excel. Это позволяет вам.
Удалить комментарии из книги в Excel — все комментарии удалены — макрос VBA
Макрос: макрос Excel, который удалит/удалит все комментарии из всей книги Excel.
Удалить все листы диаграмм в Excel — удаляются только листы диаграмм — не встроенные диаграммы
Макрос: удалите все листы диаграмм и вкладки в Excel с помощью этого макроса. Это удалит только символ.
Удалить комментарии в Excel — навсегда удалить определенные комментарии из Excel
Макрос: удалить комментарий в Excel с помощью этого макроса. Вы можете безвозвратно удалить или удалить определенный.
- Выделите и скопируйте текст в сером поле выше.
- Откройте файл Microsoft Excel, в котором вы хотите использовать макрос.
- Нажмите «Alt + F11» — откроется редактор Visual Basic — работает для всех версий Excel. Или Чтобы узнать о других способах добраться, нажмите здесь.
Для версий Excel до Excel 2007
Выберите Инструменты > Макросы > Редактор Visual Basic
- Откройте меню в верхней части окна и нажмите "Вставить" > "Модуль".
- В окне редактора Visual Basic должно было открыться другое окно. В этом новом окне вставьте код макроса. Не забудьте вставить код под последней строкой всего, что находится в окне.
- Перейдите к шагу 8. ол>
- Непосредственно под вашим файлом Excel с именем VBAProject (имя вашего файла здесь) щелкните значок папки Microsoft Excel Objects, чтобы открыть раскрывающийся список.
- Затем в нижней части появившегося списка дважды щелкните текст ThisWorkbook.
- Появится новое окно внутри окна редактора Visual Basic. В этом новом окне вставьте код макроса. Не забудьте вставить этот код под последней строкой любого другого кода, который уже находится в окне.
- Перейдите к шагу 8. ол>
- Непосредственно под вашим файлом Excel с именем VBAProject (имя вашего файла здесь) щелкните значок папки Microsoft Excel Objects, чтобы открыть раскрывающийся список.
- В появившемся списке вы увидите все рабочие листы в этом файле Excel. Они будут перечислены как таковые: Лист1 (ЗДЕСЬ НАЗВАНИЕ ЛИСТА), а под ним будет Лист2 (ЗДЕСЬ НАЗВАНИЕ ЛИСТА). Выберите лист, на котором вы хотите запустить макрос, и дважды щелкните этот лист.
- Появится новое окно внутри окна редактора Visual Basic. В этом новом окне вставьте код макроса. Не забудьте вставить этот код под последней строкой любого другого кода, который уже находится в окне.
- Повторите шаги b и c для каждого листа, на котором должен работать макрос. Если макрос поместить на один лист, он не будет работать на других листах книги.
- Перейдите к шагу 8.
- Во-первых, вам нужно использовать MainModule как необработанный модуль для создания кнопки макроса в Excel.
- В рабочем листе Excel необходимо перейти на вкладку "Разработчик".
- Затем вам нужно выбрать параметр Visual Basic в разделе «Код».
- Теперь вам нужно скопировать и вставить приведенный ниже код.
- Вы должны сохранить код, выбрав его, а затем закрыть окно.
- Опять же, вам нужно перейти в электронную таблицу Excel и щелкнуть вкладку "Разработчик".
- Затем вам нужно выбрать параметр «Макросы» в разделе «Код».
- Теперь вам нужно убедиться, что выбрано имя вашего макроса, и нажать кнопку "Выполнить".
- Наконец, после запуска макроса MainModule будет удален из VBA.
- Показывайте все рабочие листы, которые могут быть скрыты.
- Выберите все листы в книге. (Нажмите на первую вкладку рабочего листа, затем, удерживая нажатой клавишу Shift, щелкните последнюю вкладку рабочего листа.)
- Щелкните правой кнопкой мыши одну из вкладок рабочего листа. Excel отображает контекстное меню.
- Выберите «Переместить» или «Копировать» в контекстном меню. Excel отображает диалоговое окно «Переместить или скопировать». (См. рис. 1.)
- Нажмите клавиши ALT+F11, чтобы открыть редактор VBA.
- В Project Explorer (в верхнем левом углу редактора) щелкните правой кнопкой мыши модуль, который хотите удалить. (Помните, что макросы хранятся в модулях, и вы должны щелкнуть правой кнопкой мыши только модуль, связанный с книгой, которую вы хотите очистить.) Excel отображает контекстное меню.
- Выберите параметр «Удалить» в контекстном меню. Фактическая формулировка параметра будет включать имя модуля, который вы хотите удалить, например «Удалить модуль1».
- Когда вас спросят, хотите ли вы экспортировать модуль перед его удалением, нажмите "Нет".
- Повторите шаги со 2 по 4 для всех других модулей, которые вы хотите удалить.
- Закройте редактор VBA.
Открыть презентацию PowerPoint из Excel
Макрос: этот бесплатный макрос для Microsoft Excel позволяет открывать любую презентацию PowerPoint отсюда.
Открытие документа Word из Excel.
Макрос. Этот макрос Microsoft Excel открывает документ Microsoft Word из Excel. С этим м.
Открытие PDF из Excel
Учебное пособие: как открыть файл PDF с помощью нажимаемой кнопки, ссылки или изображения в Excel. Это позволяет вам.
Курс Excel VBA — от новичка до эксперта
200+ видеоуроков
50+ часов видео
200+ руководств по Excel
С помощью этого онлайн-курса станьте мастером VBA и макросов в Excel и узнайте, как автоматизировать все свои задачи в Excel. (Опыт работы с VBA не требуется.)
Перейти к:
Пример
Подведение итогов
В приведенном выше кратком руководстве мы показали, как удалить модуль с помощью VBA в Microsoft Excel. Надеюсь, вам понравилась эта статья. Пожалуйста, не стесняйтесь заявить свой запрос или отзыв для вышеуказанной статьи. Большое спасибо за прочтение!! Чтобы узнать больше, проверьте Geek Excel!! И формулы Excel!!
Джеральд спросил, есть ли способ избавиться от всех макросов в книге Excel, не удаляя их по отдельности. Есть два способа выполнить эту задачу. Первый подход используется, если вы вообще не хотите возиться с макросами. Просто выполните следующие действия:
Рисунок 1. Диалоговое окно «Переместить или скопировать».
Ваши листы перемещены в новую книгу, к которой не прикреплены никакие макросы.
Второй подход заключается в том, чтобы просто работать с существующей книгой, и это разумный выбор, если вам удобно работать с макросами. Выполните следующие действия:
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию. Нажмите здесь, чтобы открыть эту специальную страницу в новой вкладке браузера.
Биография автора
На его счету более 50 научно-популярных книг и множество журнальных статей. Аллен Уайатт является всемирно признанным автором. Он является президентом Sharon Parq Associates, компании, предоставляющей компьютерные и издательские услуги. Узнайте больше об Аллене.
БОЛЬШЕ ОТ АЛЛЕНА
Подсчет шансов и четов
Если у вас есть ряд значений в диапазоне ячеек, вы можете задаться вопросом, сколько из этих значений четные, а сколько .
Буквы превращаются в квадраты
Представьте, что вы печатаете, и вдруг ваша красивая проза превращается в серию маленьких прямоугольников, которые .
Использование Format Painter с установленными ограничениями редактирования
Word позволяет применять к документам защиту, которая может повлиять на то, какие инструменты будут доступны пользователям. Если вы хотите освободить .
Полное руководство по VBA Visual Basic для приложений (VBA) — это язык, используемый для написания макросов во всех программах Office. Это полное руководство показывает как профессионалам, так и новичкам, как освоить VBA, чтобы настроить весь пакет Office под свои нужды. Ознакомьтесь с Освоение VBA для Office 2010 сегодня!
Дополнительные советы Excel (меню)
Отображение первого рабочего листа в макросе
При создании макросов часто нужно знать, как отображать отдельные рабочие листы. VBA предлагает несколько способов .
Копирование изображений с помощью макроса
Копировать информацию с помощью макроса довольно просто, хотя это можно сделать несколькими способами. Самый .
Простая смена диска и каталога по умолчанию
Нужен быстрый способ изменить диск и каталог по умолчанию в макросе, который вы пишете? Вот команды для этого и .
Подписаться
БЕСПЛАТНАЯ СЛУЖБА. Получайте подобные советы каждую неделю в ExcelTips, бесплатном информационном бюллетене по повышению эффективности. Введите свой адрес и нажмите "Подписаться".
Комментарии
Здравствуйте!
Я обнаружил, что если скопировать рабочий лист в новую книгу (используя макрос), код, связанный с этим листом, останется с ним.
Это громоздко, но если я сохраню этот лист в книгу .xlsx закрыть и снова открыть, я могу очистить макросы.
Перемещение листа вручную также не удаляет связанные макросы.
Есть ли способ удалить макросы с помощью VBA?
Здравствуйте, у меня есть рабочий лист с некоторым кодом (не модулем), и я скопировал его. При копировании его код vba также копировался вместе с листом, но мне не нужен код во вновь созданном листе. Пожалуйста, помогите удалить код, доступный во вновь созданном листе.
Спасибо, Аллен, ваш первый метод (например, перемещение рабочих листов в новую книгу) решил проблему, которая кажется неразрешимой в Интернете, а именно проблему "Excel не может сохранить из-за нарушения общего доступа". Кажется, что когда рабочая книга достигает определенного размера или содержит определенное количество форматирования, макросов или чего-то другого, кроме основных чисел и формул, она просто больше не будет сохранять рабочую книгу. Вместо этого он сохраняет урезанную версию во временном файле без всего форматирования, нулевого подавления, встроенных изображений и всех других приятных атрибутов, которые мы знаем и любим. В сообщении об ошибке говорится, что это связано с нарушением общего доступа, но это не так. Это происходит на отдельной, неразделенной, изолированной машине с одним администратором так же часто, как и на общей машине. Я чувствую, что есть предел атрибутов, за которыми Excel не может справиться. В моем случае это были десятки и десятки макросов, удаление которых по одному заняло бы целую вечность.
Еще раз спасибо, это было очень полезно.
PS Если есть железное решение проблемы с нарушением обмена, я был бы рад услышать его.
Спасибо. то есть помогите мне .
Возможно, вам потребуется удалить подпись кода с помощью меню VBE перед удалением всего кода VBA. Я предполагаю, что ваш сертификат кода все еще действителен
Надстройка Macro Mover удаляет весь проект VBA, так что могут остаться «остатки». Однако он не удаляет подписи. Спасибо, это функция, которую я добавлю в ближайшем будущем!
Если вы не хотите, чтобы ваши коллеги вмешивались в ваш VBA, вы можете заблокировать свой код как недоступный для просмотра.
Здравствуйте, в моей компании мы установили параметр безопасности, разрешающий только подписанные макросы. Обычно все макросы, которые я тестировал, работают нормально, когда я прикрепляю подпись, но один документ вызывает у меня проблемы. Даже если я прикреплю подпись, я получаю сообщение, что макросы отключены для этого проекта.
Я потратил много времени на устранение неполадок и пришел к выводу, что может быть какой-то код, который не включен в подписи, чтобы excel вообще запретил макросы на этот документ. Когда я полностью удаляю все макросы вашим вторым методом и перехожу к «проверить документ на наличие проблем» (перевод с моей немецкой установки, на английском, надеюсь, такой же), я получаю сообщение о том, что внутри все еще есть какой-то код.Я думаю, что это сообщение поддерживает мою мысль о том, что где-то в документе есть какой-то код, который я не могу найти.
Есть ли у вас предложения по решению моей проблемы?
Кстати, ваш первый метод не может работать для моего конечного сценария, потому что там лист Excel вызывается из SAP, и я не могу импортировать полностью новый сгенерированный документ. Я могу изменить только этот документ дампа, который не работает с подписью.
Петрос прав, но он дает ответ для более новых версий Excel. Помните, что *этот совет* (выше) предназначен для более старых версий Excel (2003 и ранее), где вы НЕ МОЖЕТЕ сохранить в «формате без макросов». Для более старых версий необходимо выполнить шаги, перечисленные выше.
Если вы используете более новую версию Excel (2007 и более поздние версии), перейдите по ссылке в начале и в конце совета выше, чтобы найти нужные инструкции.
Самый простой способ удалить весь код VBA из файла Office с поддержкой макросов — сохранить файл в формате без макросов. Например, сохраните книгу .xlsb как .xlsx
Однако не следует открывать книги, если вы подозреваете, что они содержат вредоносные макросы или код с ошибками, которые могут повредить ваши данные или ПК. Если вы отключите макросы, у вас не останется другого выбора, кроме как удалить макросы вручную или открыть и сохранить каждый файл в формате без макросов.
Однако надстройка Macro Mover позволяет снизить риски безопасности и работать более продуктивно:
Макросы удаляются только из закрытых файлов! Нет необходимости отключать все макросы из центра управления безопасностью. Ваши файлы не будут открыты в Excel, поэтому код VBA не может быть выполнен.
Код удаляется из закрытых файлов, поэтому вам не нужно ждать открытия/сохранения больших файлов.
Код VBA можно удалить из любого файла Office с поддержкой макросов (включая надстройки), даже из заблокированных проектов VBA.
Макросы можно удалять без изменения расширения файла. Вы по-прежнему можете воспользоваться преимуществами высокого коэффициента сжатия, обеспечиваемого двоичным форматом файлов Excel (.xlsb), и при этом быстро удалять макросы.
Макросы можно удалить из нескольких файлов Office (Excel, PowerPoint, Word) одной операцией.
При первой вставке модуля в VBA ему автоматически будет присвоено имя «Module1», а последующий модуль станет Module2, Module3 и т. д. Точно так же, когда вы вставите пользовательскую форму, она будет называться UserForm1, UserForm2 и т. д. .
Переименование модуля
Чтобы переименовать модуль или форму, необходимо включить окно свойств в VBE.
Если окна свойств не отображаются, нажмите F4 или перейдите в строку меню и выберите «Вид», «Окно свойств».
<р>3. Удалите имя модуля (в данном случае Module1) и введите имя, которым вы хотите назвать свой модуль.
<р>4. Нажмите Enter, чтобы переименовать модуль.
Вы переименовываете свои формы таким же образом.
Удаление модуля
Иногда вам может понадобиться удалить модуль или форму, которые вам больше не нужны.
Щелкните правой кнопкой мыши модуль или форму, которую хотите удалить, чтобы отобразить контекстное меню правой кнопки мыши.
Нажмите Удалить (в данном случае Module2)
Выберите меню "Файл" и выберите "Удалить (Module2)".
Появится окно предупреждения с вопросом, хотите ли вы экспортировать модуль или форму, прежде чем удалять их. Экспорт модуля или формы позволяет сохранить их как отдельный файл для использования в другом проекте Excel в другое время.
Чаще всего, когда вы удаляете модуль или форму, это происходит потому, что он вам не нужен, поэтому нажмите "Нет".
Именование модулей и форм
Хорошей практикой является переименование модулей и форм, чтобы дать им более осмысленные имена. Например, если UserForm1 будет формой для ввода сведений о счете, мы можем переименовать ее в frmInvoices.Точно так же, если Module1 будет использоваться для хранения некоторых общих функций, которые будут многократно использоваться в вашем коде, вы можете переименовать его в basGeneral или modGeneral (в зависимости от того, какие соглашения об именах вы предпочитаете использовать).
Программирование VBA стало проще
Прекратите искать код VBA в Интернете. Узнайте больше об AutoMacro — конструкторе кода VBA, который позволяет новичкам создавать процедуры с нуля с минимальными знаниями в области кодирования и множеством функций, позволяющих сэкономить время для всех пользователей!
Читайте также: