Как удалить макрос в скрытой книге excel

44 / 1 / 0

Регистрация: 14.06.2014

Сообщений: 150

1

Удаление макроса из персональной книги макросов

10.07.2014, 21:10. Показов 63399. Ответов 10


Студворк — интернет-сервис помощи студентам

Кто может подсказать, как правильно удалить макрос?
Я сохранил макрос в Личную книгу макросов. Когда пытаюсь удалить созданный макрос появляется сообщение:
«Изменить макрос в скрытой книге невозможно. Закройте все документы и выберите команду «Показать» в меню «Файл». Если закрываю все открытые книги Excel, то при попытке удалить макрос появляется такая же запись, а команды «Показать» в меню «Файл» у меня в Excel 2010 нет.
Что я делаю неправильно? В чём ошибка?



0



Антихакер32

Заблокирован

10.07.2014, 21:22

2

Зачем его удолять ?, может быть проще не использовать в тех или иных случаях

Добавлено через 4 минуты
или вот как можно!, ручками.. средствами правки.. копировать-вырезать-вставить-удалить



0



44 / 1 / 0

Регистрация: 14.06.2014

Сообщений: 150

10.07.2014, 21:51

 [ТС]

3

Когда удаляю файл PERSONAL.XLSB удаляются все макросы.
Дело в том, что я только начал изучать VBA записываю, что-то экспериментирую, а удалить не могу, так ведь со временем куча мусора скопится ненужного и я сам запутаюсь, вот и пытаюсь найти как удалить, и где эта команда «Показать» в меню «Файл»….?
Так как удалить один из макросов из Личной книги макросов тут кто-нибудь знает или только специалисты по бесполезным советам…?



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

10.07.2014, 22:34

4

Лучший ответ Сообщение было отмечено Аксима как решение

Решение

В редакторе VBA открываете нужный модуль этой персональной книги и стираете этот ненужный макрос — выделяете мышью текст и delete



1



44 / 1 / 0

Регистрация: 14.06.2014

Сообщений: 150

10.07.2014, 23:16

 [ТС]

5

Спасибо!



0



2 / 2 / 1

Регистрация: 07.07.2015

Сообщений: 1

07.07.2015, 16:40

6

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

1. На вкладке Вид в группе Окно нажмите кнопку Отобразить окно.

2. В разделе Показать скрытое окно книги выберите пункт ЛИЧНОЕ, а затем нажмите кнопку ОК.

3. В списке Находится в выберите рабочую книгу с макросом, который требуется удалить. Например, выберите вариант Эта книга.

4. В поле Имя макроса выберите имя макроса, который нужно удалить.

5. Выберите команду Удалить.



2



0 / 0 / 0

Регистрация: 13.07.2015

Сообщений: 1

14.03.2016, 23:40

7

Цитата
Сообщение от buzz
Посмотреть сообщение

1. На вкладке Вид в группе Окно нажмите кнопку Отобразить окно.

Спасибо, buzz!
Единственный нормальный ответ по делу.



0



0 / 0 / 0

Регистрация: 12.05.2016

Сообщений: 14

12.05.2016, 10:48

8

У меня похожая ситуация. То же самое сообщение возникает при попытке редактирования макроса. Как решить эту проблему?



0



31 / 28 / 1

Регистрация: 06.01.2017

Сообщений: 297

20.03.2018, 17:38

9

Кстати, нет никакой необходимости пользоваться «Персональной Книгой Макросов».

Можно любой документ с расширением XlsM сохранить в папку
c:UsersUserAppDataRoamingMicrosoftExcelXLST ART
И музыка будет играть



0



Житель Земли

2999 / 2998 / 391

Регистрация: 26.07.2011

Сообщений: 11,459

Записей в блоге: 1

16.05.2019, 09:34

10

Цитата
Сообщение от buzz
Посмотреть сообщение

1. На вкладке Вид в группе Окно нажмите кнопку Отобразить окно.
2. В разделе Показать скрытое окно книги выберите пункт ЛИЧНОЕ, а затем нажмите кнопку ОК.
3. В списке Находится в выберите рабочую книгу с макросом, который требуется удалить. Например, выберите вариант Эта книга.
4. В поле Имя макроса выберите имя макроса, который нужно удалить.
5. Выберите команду Удалить.

дополню. персональная книга макросов остается открытой и при запуске Excel открывается не новая книга, а эта самая ПКМ и можно случайно сохранить данные в нее. поэтому нужно
6. Активизировав окно ПКМ (ну или сразу при запуске Excel) в меню Вид выбрать команду «Скрыть»
7. При закрытии Excel ответить утвердительно на все вопросы касательно ПКМ



0



Житель Земли

2999 / 2998 / 391

Регистрация: 26.07.2011

Сообщений: 11,459

Записей в блоге: 1

16.05.2019, 09:41

11

Кстати, никто не знает, как задать пользовательскую пиктограмму для личной команды на панели быстрого доступа?

Удаление макроса из персональной книги макросов



0



Создание, расположение, удаление и добавление Личной книги макросов (PERSONAL.XLSB), предназначенной в Excel для записи, хранения и вызова процедур.

Личная книга макросов

Личная (персональная) книга макросов – это скрытая служебная книга Excel с именем PERSONAL.XLSB, предназначенная для записи и хранения программного кода (функций и подпрограмм) и предоставления доступа к нему из всех открытых рабочих книг.

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

Персональная книга макросов является скрытой, поэтому добавлять, удалять и изменять размещенные в ней процедуры можно только в редакторе VBA.

Так же, как и в других рабочих книгах, в Личной книге макросов можно создавать программные модули, импортировать и экспортировать их, записывать в модули пользовательские процедуры (подпрограммы и функции) или копировать и вставлять их из модулей других книг.

Подпрограммы, размещенные в Личной книге макросов, можно просмотреть в окне «Список макросов», открыв его из любой рабочей книги Excel. Они будут перечислены с приставкой «PERSONAL.XLSB!». Функции в этом окне не отображаются.

Пользовательские функции, размещенные в Личной книге макросов, доступны для просмотра, выбора и вставки их в ячейки рабочего листа в Мастере функций:

Список функций, определенных пользователем

Список пользовательских функций в Личной книге макросов

По умолчанию пользовательские функции расположены в категории «Определенные пользователем». Они выбираются и вставляются в ячейки рабочего листа с помощью Мастера функций так же, как и все остальные.

Пользовательские функции, расположенные в обычной рабочей книге Excel, тоже будут доступны в Мастере функций, но для этого книга должна быть открыта.

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

Создание

Изначально Личная книга макросов в приложении Excel отсутствует. Чтобы проверить, есть ли она в вашей программе (не создал ли ее кто-то ранее), откройте любую рабочую книгу и перейдите в редактор VBA, нажав сочетание клавиш «Alt+F11» (в этом сочетании используется левая клавиша Alt). Открыть редактор VBA можно и пройдя по пунктам меню:

Excel 2007-2016: «Разработчик» –> «Visual Basic» (смотрите, как отобразить вкладку «Разработчик», которая изначально скрыта);

Excel 2000-2003: «Сервис» –> «Макрос» –> «Редактор Visual Basic».

Откроется редактор VBA:

Проводник в редакторе VBA Excel

Проводник в редакторе VBA

Если в проводнике сверху вы видите строку «VBAProject (PERSONAL.XLSB)», значит Личная книга макросов на вашем компьютере уже есть.

Если же ее нет, необходимо записать какой-нибудь простенький макрос, выбрав при его создании Сохранить в: Личная книга макросов.

 Сохранение макроса в Личной книге макросов

Сохранение макроса в Личной книге макросов

После записи макроса, сохраненного в Личную книгу макросов, эта книга будет создана и появится в проводнике редактора VBA.

Расположение

Место расположения Личной книги макросов на конкретном компьютере, по словам разработчиков, зависит только от версии операционной системы. О его зависимости от версии Excel в их статье ничего не сказано.

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

Результаты поиска папки XLSTART в проводнике

Результаты поиска папки XLSTART в проводнике

Личная книга макросов в папке XLSTART

Личная книга макросов в папке XLSTART

Удаление

Если вы хотите удалить Личную книгу макросов из своего приложения Excel, найдите с помощью поиска в проводнике папку XLSTART и удалите из нее файл PERSONAL.XLSB.

В принципе, наличие неиспользуемой Персональной книги макросов ничем не мешает. Но если не вы ее создавали и вас беспокоит наличие в ней чужого кода, можете удалить из нее в редакторе VBA все стандартные модули и очистить от процедур модули книги (по умолчанию «ЭтаКнига») и листа (по умолчанию «Лист1»).

Добавление

Как видно из комментариев к этой статье, у некоторых пользователей приложения Excel при создании макроса в выпадающем списке «Сохранить в» отсутствует пункт «Личная книга макросов».

В этом случае можно попытаться найти с помощью поиска в проводнике папку XLSTART и, если она будет найдена, вставить в нее пустой файл PERSONAL.XLSB. В данном случае «пустой» означает «без пользовательских процедур (макросов)».

Скачать архив с пустым файлом PERSONAL.XLSB (создан в Excel 2016).

После добавления файла PERSONAL.XLSB в папку XLSTART и перезагрузки приложения Excel, Личная книга макросов появится в проводнике редактора VBA. Перезагрузка Excel заключается в закрытии всех открытых рабочих книг и последующем открытии любого файла этой программы.

Содержание:

  1. Удалите все макросы, сохранив файл в формате XLSX
  2. Удалить определенные макросы из диалогового окна «Макрос»
  3. Удалите модуль с макросом

[lyte id=’lyNJbZfM7TU’ /]

Использование макросов VBA в Excel может значительно сэкономить время. Вы можете автоматизировать множество повторяющихся задач и создавать новые функции и возможности в Excel с помощью простых кодов макросов VBA.

Но в некоторых случаях вам может потребоваться удалить все макросы из книги Excel (или удалить только определенные макросы).

Это может быть в том случае, если вы получаете книгу от кого-то другого и хотите освободить ее от макросов, или когда вы отправляете кому-то файл с макросами, а квитанция не нуждается в них в книге.

В этом уроке я покажу вам несколько действительно простых способов удалить макросы из книги в Microsoft Excel.

Итак, приступим!

Удалите все макросы, сохранив файл в формате XLSX

Если вы хотите избавиться от всех макросов сразу, самый простой способ сделать это — сохранить существующую книгу в формате XLSX.

По умолчанию у вас не может быть кода макроса VBA в формате файла XLSX. Если вы это сделаете, он будет автоматически удален при сохранении файла Excel.

В Excel вы можете использовать макросы только в форматах .XLSM, .XLSB и более старых форматах .XLS. Когда вы сохраняете книгу в любом другом формате, макросы сразу теряются.

Предположим, у вас есть файл с именем Example.xlsm (с макросами), ниже приведены шаги по удалению всех макросов из этого файла:

  1. Перейдите на вкладку Файл.
  2. Нажмите на опцию «Сохранить как» (в новых версиях Excel это «Сохранить копию»).
  3. Щелкните Обзор. Откроется диалоговое окно «Сохранить как».
  4. В диалоговом окне «Сохранить как» введите имя файла, с которым вы хотите его сохранить. Вы также можете сохранить существующее имя, если хотите
  5. Щелкните раскрывающийся список Тип файла.
  6. Выберите вариант «Книга Excel (* .xlsx)».
  7. Нажмите на Сохранить
  8. В появившемся запросе нажмите Да. Он просто информирует вас о том, что код VB будет утерян, если вы сохраните этот файл в формате .XLSX.

Вот и все! Теперь ваш файл не содержит макросов.

Этот метод удобен тем, что удаляет все макросы из текущей книги Excel за один раз. Однако, если вы хотите удалить некоторые макросы и удалить некоторые, этот метод не сработает для вас (см. Тот, который использует диалоговое окно «Макрос» для этого).

Еще одна хорошая особенность этого метода заключается в том, что у вас все еще есть копия исходного файла со всеми макросами (на случай, если она вам понадобится в будущем).

Удалить определенные макросы из диалогового окна «Макрос»

Хотя предыдущий метод удалял все макросы. это позволяет вам выбрать те, которые вы хотите удалить.

И если вы хотите удалить все макросы, вы также можете это сделать.

Предположим, у вас есть файл с именем Example.xlsm, в котором есть несколько макросов.

Ниже приведены шаги по удалению макроса из этой книги:

  1. Перейдите на вкладку Разработчик (если вы не видите вкладку Разработчик, обратите внимание на примечание желтого цвета после шагов)
  2. Щелкните по кнопке Macros. Откроется диалоговое окно «Макрос», в котором вы увидите все макросы в книге.
  3. Убедитесь, что в раскрывающемся списке «Макросы в» выбрана «Эта книга».
  4. Выберите имя макроса, который вы хотите удалить, из списка макросов.
  5. Щелкните по кнопке Удалить. Это удалит выбранный макрос

Если вы хотите удалить несколько (или все) макросов, повторите шаги 4 и 5.

Примечание. Если вы не видите вкладку разработчика, нажмите здесь, чтобы узнать, как отобразить вкладку разработчика на ленте в Excel. Кроме того, вы также можете использовать сочетание клавиш — ALT + 8, чтобы открыть диалоговое окно «Макрос».

Кроме того, вы также можете щелкнуть вкладку «Представления», щелкнуть раскрывающийся список «Макросы» и затем выбрать опцию «Просмотр макросов». Это также откроет диалоговое окно Macros.

Хотя этот метод отлично работает, он позволяет удалять только макросы, которые хранятся в модуле редактора Visual Basic. Если у вас есть макросы событий (в определенных листах или ThisWorkbook) или макросы в личной книге макросов, их нельзя удалить с помощью этого метода.

Удалите модуль с макросом

Другой способ удалить макросы — перейти в редактор Visual Basic и удалить оттуда макросы.

Этот метод дает вам наибольший контроль, поскольку вы можете получить доступ ко всем макросам (будь то в модуле, объектах или личной книге макросов).

Ниже приведены шаги по удалению макроса из редактора Visual Basic:

  1. Щелкните вкладку Разработчик на ленте.
  2. Нажмите на опцию Visual Basic (или воспользуйтесь сочетанием клавиш — ALT + F11)
  3. В редакторе VB у вас будут все объекты книги в Project Explorer. Если вы не видите Project Explorer, выберите опцию View в меню, а затем нажмите Project Explorer.
  4. В Project Explorer дважды щелкните объект с кодом макроса. Это может быть модуль, объект рабочего листа или ThisWorkbook.
  5. В открывшемся окне кода удалите макросы, которые хотите удалить. Если вы хотите удалить все, просто выберите все и нажмите клавишу удаления.

Если у вас есть модуль, который имеет код, который вы хотите удалить, вы можете щелкнуть правой кнопкой мыши объект модуля, а затем выбрать опцию «Удалить модуль».

Итак, это три способа удаления макросов из книги Microsoft Excel.

Надеюсь, вы нашли этот урок полезным!

Windows 10 desktop computer, Excel

I recorded a macro, seems to have an error. Want to Delete it and try again. When I go into Macros, I see it listed and highlighted (it is the only one), try to click Delete, but get message :

«Cannot edit a macro on a hidden workbook. Unhide the workbook using the Unhide command»

Don’t know what this means. I don’t know of any hidden workbooks, never did anything to hide any workbook.

Help for «unhide» says go to Home—>(Cells) Format—>Visibility—>Hide&Unhide,

but when I go there, the entry for Unhide Sheet is grayed out. so cannot do that anyway.   I just want to delete the macro I recorded before and try to record it again to get rid of whatever error it contains.

This is a macro I intended to use in any Excel workbook and is listed as

PERSONAL.XLSB!(name)  and below the list of Macro names there is a box

      Macros in:  All Open Workbooks

It is the only macro listed, there are no others.

 

Ниже описывается создание и удаление макроса в Excel 2013 и 2016.

Запись макроса

При записи макроса все необходимые действия записываются средством записи макроса. Такими действиями может быть ввод текста или чисел, выбор ячеек или команд на ленте или в меню, форматирование, выделение ячеек, строк или столбцов, а также выделение ячеек путем перетаскивания указателя мыши. Команды для записи, создания и удаления макросов доступны на вкладке ленты Разработчик.

  1. Если вкладка Разработчик недоступна, выполните следующие действия для ее отображения:
    1. Откройте вкладку Файл.
    2. Нажмите кнопку Параметры и выберите команду Настройка ленты.
    3. В категории Настройка ленты в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку ОК.
  2. Чтобы разрешить все макросы, возможно, сначала потребуется установить уровень безопасности. Для этого выполните указанные ниже действия.
    1. На вкладке Разработчик в группе Код нажмите кнопку Безопасность макросов.Группа "Код" на вкладке "Разработчик" в Excel
    2. В группе Параметры макросов выберите переключатель Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем дважды нажмите кнопку ОК.

      ВНИМАНИЕ : Для предотвращения запуска потенциально опасного кода по завершении работы с макросами рекомендуется вернуть параметры, отключающие все макросы.

  3. Нравится? Поделись с друзьями в социальных сетях, нажми поделиться

    для сайта клёвая штука

    1. На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
    2. В поле Имя введите имя макроса .

      ПРИМЕЧАНИЕ : Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не допускаются пробелы; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса.

    3. Чтобы назначить сочетание клавиш с клавишей CTRL для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву.Выбранное сочетание клавиш заменяет все совпадающие стандартные сочетания клавиш Excel на то время, пока открыта книга, содержащая данный макрос.
    1. В поле Сохранить в выберите книгу, в которой нужно сохранить макрос.Если вам нужно, чтобы данный макрос был всегда доступен при работе в Excel, выберите вариант Личная книга макросов. При выборе этого варианта создается скрытая личная книга макросов (Personal.xlsb) (если она еще не существует), в которой сохраняется данный макрос. В Windows 7 и Windows Vista эта книга сохраняется в папке C:Usersимя_пользователяApplication DataMicrosoftExcelXLStart. В Microsoft Windows XP эта книга сохраняется в папке C:Documents and Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда она будет автоматически загружаться при каждом запуске приложения Excel. Если вы хотите автоматически выполнять макрос из личной книги в другой книге, следует также сохранить эту книгу в папке XLStart, чтобы при запуске Excel открывались обе книги.
    2. Введите описание макроса в поле Описание.
    3. Для начала записи макроса нажмите кнопку ОК.
    4. Выполните действия, которые нужно записать.
    5. На вкладке Разработчик в группе Код нажмите кнопку Остановить запись Изображение кнопки .

    Создание макроса с помощью VBA

    1. На вкладке Разработчик в группе Код нажмите кнопку Visual Basic.
    2. При необходимости в меню Insert выберите команду Module.

      ПРИМЕЧАНИЕ : Модули будут созданы автоматически для всех листов книги.

    3. В окне программы модуля введите или скопируйте нужный текст макроса.
    4. Для запуска макроса из окна модуля нажмите клавишу F5.
    5. Когда макрос будет создан, в меню File выберите команду Close and Return to Microsoft Excel.

    Нравится? Подпишись на рассылку полезных советов от prodma.ru

    для сайта клёвая штука

    [wysija_form id=»1″]

    Копирование части макроса для создания нового макроса

    1. Откройте книгу, содержащую макрос, который нужно скопировать.
    2. На вкладке Разработчик в группе Код нажмите кнопку Макросы.
    3. В поле Имя выберите имя макроса, который нужно скопировать.
    4. Нажмите кнопку Изменить.
    5. В окне редактора Visual Basic выделите строки макроса, которые нужно скопировать.

      СОВЕТ : Чтобы скопировать макрос целиком, включите в выделенную часть строки Sub и End Sub.

    6. Выберите в меню Правка команду Копировать.
    7. В поле Procedure окна кода выберите модуль, куда нужно поместить текст.
    8. Выберите в меню Правка команду Вставить.

    Личную книгу макросов (файл Personal.xls) редактировать нельзя, поскольку она является скрытой книгой, которая всегда открыта. Сначала ее следует отобразить с помощью команды Показать. Этот файл также можно открыть в редакторе Visual Basic, нажав клавиши ALT+F11.

    Назначение макроса объекту, графическому объекту и элементу управления

    1. Щелкните на листе правой кнопкой мыши объект, графический объект или элемент управления, которому нужно назначить существующий макрос, а затем в контекстном меню выберите команду Назначить макрос.
    2. В поле Имя выберите макрос, который нужно назначить.

    Удаление макроса

    1. Выполните одно из указанных ниже действий.
      • Откройте книгу, содержащую макрос, который нужно удалить.
      • Если макрос, который требуется удалить, хранится в личной книге макросов (Personal.xlsb) и эта книга скрыта, для ее отображения выполните указанные ниже действия.
        1. На вкладке Вид в группе Окно нажмите кнопку Отобразить окно.
        2. В разделе Показать скрытое окно книги выберите пункт PERSONAL и нажмите кнопку ОК.
    2. В списке Находится в выберите рабочую книгу с макросом, который требуется удалить. Например, выберите вариант Эта книга.
    3. В списке Имя выберите имя макроса, который требуется удалить.
    4. Нажмите кнопку Удалить.

    Excel предоставляет вам возможность хранить все ваши макросы в одной книге. Рабочая книга называется «Персональная макрокоманда» – Personal.xlsb. Это скрытая рабочая книга, хранящаяся на вашем компьютере, которая открывается каждый раз, когда вы открываете Excel. Это позволяет вам запускать макросы из любой книги. На каждом компьютере будет отдельная книга личных макросов, и вы не сможете поделиться ею между компьютерами. Вы можете просматривать и запускать макросы в своей личной книге макросов из любой книги на вашем компьютере.

    Сохранение макросов в личной книге макросов

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

    Выберите «Персональная книга макросов» в раскрывающемся списке под категорией « Хранить макрос» .

    Персональный макрос

    • Запишите свой второй макрос.
    • Укажите детали макроса в диалоговом окне «Запись макроса», как показано ниже.
    • Нажмите ОК.

    Второй макрос

    Ваша запись начинается. Создайте таблицу, как показано ниже.

    Запись начинается

    • Прекратить запись.

    • Нажмите вкладку VIEW на ленте.

    • Нажмите Макросы.

    • Выберите View Macros из выпадающего списка. Откроется диалоговое окно «Макрос».

    Прекратить запись.

    Нажмите вкладку VIEW на ленте.

    Нажмите Макросы.

    Выберите View Macros из выпадающего списка. Откроется диалоговое окно «Макрос».

    Посмотреть макросы

    Имя макроса отображается с префиксом PERSONAL.XLSB! указывает на то, что макрос находится в личной книге макросов.

    Сохраните свою рабочую книгу. Он будет сохранен как файл .xls, так как макрос отсутствует в вашей книге и закроет Excel.

    Вы получите следующее сообщение о сохранении изменений в Персональной книге макросов:

    Сохранить

    Нажмите кнопку Сохранить. Ваш макрос сохраняется в файле Personal.xlsb на вашем компьютере.

    Скрытие / отображение персональной макрокоманды

    Персональная макрокоманда по умолчанию будет скрыта. Когда вы запускаете Excel, загружается личная книга макросов, но вы ее не видите, потому что она скрыта. Вы можете показать это следующим образом –

    • Нажмите вкладку VIEW на ленте.

    • Нажмите Показать в группе окон.

    Нажмите вкладку VIEW на ленте.

    Нажмите Показать в группе окон.

    Посмотреть вкладку

    Откроется диалоговое окно «Показать».

    Unhide

    PERSONAL.XLSB появится в поле «Показать книгу» и нажмите «ОК».

    Персональный XLSB

    Теперь вы можете просматривать макросы, сохраненные в личной книге макросов.

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

    • Нажмите на личную книгу макросов.
    • Нажмите вкладку VIEW на ленте.
    • Нажмите Скрыть на ленте.

    Запуск макросов, сохраненных в личной книге макросов

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

    • Нажмите «Просмотреть макросы».
    • Выберите имя макроса из списка макросов.
    • Нажмите кнопку «Выполнить». Макрос будет работать.

    Добавление / удаление макросов в личной книге макросов

    Вы можете добавить больше макросов в личную книгу макросов, выбрав ее для опции «Хранить макрос» во время записи макросов, как вы видели ранее.

    Вы можете удалить макрос в личной книге макросов следующим образом:

    • Убедитесь, что личная рабочая тетрадь с макросами не скрыта.
    • Щелкните имя макроса в диалоговом окне «Просмотр макросов».
    • Нажмите кнопку Удалить.

    Если личная книга макросов скрыта, вы получите сообщение «Невозможно редактировать макрос в скрытой книге».

    Скрытая рабочая книга

    Отобразите личную книгу макросов и удалите выбранный макрос.

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

    Хитрости »

    6 Июнь 2011              79267 просмотров


    Как удалить макросы в книге?

    Рано или поздно у разработчиков возникает вопрос: как удалить макросы, в том числе и из книги, в которой эти макросы расположены? Да еще так, чтобы об этом никто ничего не узнал?

    Для изменения кодов программно необходимо, чтобы было проставлено доверие к объектной модели проекта VBA и изменяемый проект не должен быть защищен. Подробнее читайте в статье: Что необходимо для внесения изменений в проект VBA(макросы) программно
    Без этого будет невозможно программное вмешательство в проект VBA.

    • Удалить все макросы из активной книги
    • Удалить отдельный модуль(Module), Форму(UserForm), Код листа или книги
    • Удалить отдельную процедуру из модуля
    • Удалить все макросы вручную

     
    УДАЛИТЬ ВСЕ МАКРОСЫ ИЗ АКТИВНОЙ КНИГИ

    Sub Delete_Macroses()
        Dim oVBComponent As Object, lCountLines As Long
        'Проверяем, защищен проект или нет
        If ActiveWorkbook.VBProject.Protection = 1 Then
            MsgBox "VBProject выбранной книги защищён." & vbCrLf & _
                 "     Компоненты не будут удалены.", vbExclamation, "Отмена выполнения"
            Exit Sub
        End If
     
        For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents
            On Error Resume Next
            With oVBComponent
                Select Case .Type
                Case 1    'Модули
                    .Collection.Remove oVBComponent
                Case 2    'Модули Класса
                    .Collection.Remove oVBComponent
                Case 3    'Формы
                    .Collection.Remove oVBComponent
                Case 100    'ЭтаКнига, Листы
                        lCountLines = .CodeModule.CountOfLines
                        .CodeModule.DeleteLines 1, lCountLines
                End Select
            End With
        Next
        Set oVBComponent = Nothing
    End Sub

     
    Так же можно удалить макросы только из одного компонента(листа или книги или модуля).

    УДАЛИТЬ ОТДЕЛЬНЫЙ МОДУЛЬ(Module), ФОРМУ(UserForm) КОД ЛИСТА ИЛИ КНИГИ
    Удалить модуль/форму целиком достаточно просто:

    ActiveWorkbook.VBProject.VBComponents("UserForm1").Collection.Remove ActiveWorkbook.VBProject.VBComponents("UserForm1")
    ActiveWorkbook.VBProject.VBComponents("Module1").Collection.Remove ActiveWorkbook.VBProject.VBComponents("Module1")

    С листами несколько сложнее — если удалить компонент полностью, то будут потеряны и все данные на листе, а не только макросы. Поэтому удалять необходимо только код внутри листа. В качестве примера возьмем Лист1:

    Sub Delete_Macroses_In_One_Comp()
        Dim oVBComponent As Object, lCountLines As Long
        Set oVBComponent = ActiveWorkbook.VBProject.VBComponents("Лист1")
        With oVBComponent
            lCountLines = .CodeModule.CountOfLines
            .CodeModule.DeleteLines 1, lCountLines
        End With
        Set oVBComponent = Nothing
    End Sub

    Здесь тоже есть небольшая поправка: Лист1 — это кодовое(внутреннее имя) листа. На ярлычке имя листа может отображаться как угодно, а вот внутреннее…Его можно лучше подглядеть через редактор VBA:

    Подробнее про кодовое имя листа можно прочитать в этой статье: Кодовое имя листа — что это и зачем нужно? Какие плюсы и минусы?
    Чтобы удалить коды из модуля книги необходимо вместо Лист1 указать ЭтаКнига(для англ.версии — ThisWorkbook).

     
    УДАЛИТЬ ОТДЕЛЬНУЮ ПРОЦЕДУРУ ИЗ МОДУЛЯ
    Если же Вам необходимо удалить лишь определенную процедуру из модуля формы, стандартного модуля, модуля листа или книги, то сделать это чуть сложнее. Рассмотрим на примере удаления процедуры с именем "Code2", расположенной в стандартном модуле "Module2"

    Sub Delete_Sub_From_Module()
        Dim lCountLines As Long, li As Long, lStartLine As Long, lProcLineCount As Long
        Dim sCodeName As String, sProcName As String
     
        With ActiveWorkbook.VBProject.VBComponents("Module2")
            'получаем кол-во строк кода в модуле
            lCountLines = .CodeModule.CountOfLines
            'получаем первую строку с кодом, исключая строки декларирования функции и опций модуля
            lStartLine = .CodeModule.CountOfDeclarationLines + 1
            'цикл по всем строкам кода внутри модуля
            For li = lStartLine To lCountLines
                'получаем имя процедуры/функции, внутри которой строка кода
                sProcName = .CodeModule.ProcOfLine(li, 0)
                'если имя процедуры совпадает с тем, которое нам нужно
                If sProcName = "Code2" Then
                    'узнаем кол-во строк процедуры/функции
                    lProcLineCount = .CodeModule.ProcCountLines(sProcName, 0)
                    'удаляем процедуру/функцию
                    .CodeModule.DeleteLines li, lProcLineCount - 1
                    Exit For
                End If
            Next li
        End With
    End Sub

    Здесь стоит обратить внимание на один момент: данный поиск чувствителен к регистру. Т.е. если требуется удалить процедуру "Code2", то и к сравнению надо вписывать имя именно так. Если записать "code2", то совпадения найдено не будет и процедура не будет удалена. Во избежание подобного можно приводить имена к одному регистру:
    If LCase(sProcName) = LCase(«Code2») Then


    УДАЛИТЬ ВСЕ МАКРОСЫ ВРУЧНУЮ

    Еще хочу добавить, что если надо не скрыто, а просто быстро удалить все макросы из книги и Вы счастливый обладатель Excel версии 2007 и выше, то всего лишь необходимо книгу, из которой хотите удалить макросы, Сохранить как -обычная Книга Excel (

    Файл(File)(или кнопка Меню для 2007 Excel)

    Сохранить как(Save As)

    Книга Excel(Excel Workbook)

    ).

    Программно это можно сделать простым кодом:

    Sub SaveBookWithoutMacro()
        ActiveWorkbook.SaveAs Filename:="C:Книга1.xlsx", FileFormat:=51
    End Sub

    Отдельную роль здесь играет параметр FileFormat, которому мы назначаем значение 51. По сути 51 — это значение константы xlOpenXMLWorkbook, которая говорит VBA, что файл надо сохранить в формате обычной книги Excel без поддержки макросов. Работает только начиная с 2007 Excel.

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

    Также см.:
    Копирование модулей и форм из одной книги в другую
    Как программно снять пароль с VBA проекта?


    Статья помогла? Поделись ссылкой с друзьями!

      Плейлист   Видеоуроки


    Поиск по меткам

    

    Access
    apple watch
    Multex
    Power Query и Power BI
    VBA управление кодами
    Бесплатные надстройки
    Дата и время
    Записки
    ИП
    Надстройки
    Печать
    Политика Конфиденциальности
    Почта
    Программы
    Работа с приложениями
    Разработка приложений
    Росстат
    Тренинги и вебинары
    Финансовые
    Форматирование
    Функции Excel
    акции MulTEx
    ссылки
    статистика

    Создание и удаление макросов

    Ниже описывается создание и удаление макроса в Excel 2013 и 2016.

    При записи макроса все необходимые действия записываются средством записи макроса. Такими действиями может быть ввод текста или чисел, выбор ячеек или команд на ленте или в меню, форматирование, выделение ячеек, строк или столбцов, а также выделение ячеек путем перетаскивания указателя мыши. Команды для записи, создания и удаления макросов доступны на вкладке ленты Разработчик.

    1. Если вкладка Разработчик недоступна, выполните следующие действия для ее отображения:
    1. Откройте вкладку Файл.
    2. Нажмите кнопку Параметры и выберите команду Настройка ленты.
    3. В категории Настройка ленты в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку ОК.
  4. Чтобы разрешить все макросы, возможно, сначала потребуется установить уровень безопасности. Для этого выполните указанные ниже действия.
    1. На вкладке Разработчик в группе Код нажмите кнопку Безопасность макросов.
    2. В группе Параметры макросов выберите переключатель Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем дважды нажмите кнопку ОК.

      ВНИМАНИЕ : Для предотвращения запуска потенциально опасного кода по завершении работы с макросами рекомендуется вернуть параметры, отключающие все макросы.

      Нравится? Поделись с друзьями в социальных сетях, нажми поделиться

      1. На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
      2. В поле Имя введите имя макроса .

      ПРИМЕЧАНИЕ : Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не допускаются пробелы; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса.

    3. Чтобы назначить сочетание клавиш с клавишей CTRL для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву.Выбранное сочетание клавиш заменяет все совпадающие стандартные сочетания клавиш Excel на то время, пока открыта книга, содержащая данный макрос.
    1. В поле Сохранить в выберите книгу, в которой нужно сохранить макрос.Если вам нужно, чтобы данный макрос был всегда доступен при работе в Excel, выберите вариант Личная книга макросов. При выборе этого варианта создается скрытая личная книга макросов (Personal.xlsb) (если она еще не существует), в которой сохраняется данный макрос. В Windows 7 и Windows Vista эта книга сохраняется в папке C:Usersимя_пользователяApplication DataMicrosoftExcelXLStart. В Microsoft Windows XP эта книга сохраняется в папке C:Documents and Settingsимя_пользователяApplication DataMicrosoftExcelXLStart, откуда она будет автоматически загружаться при каждом запуске приложения Excel. Если вы хотите автоматически выполнять макрос из личной книги в другой книге, следует также сохранить эту книгу в папке XLStart, чтобы при запуске Excel открывались обе книги.
    2. Введите описание макроса в поле Описание.
    3. Для начала записи макроса нажмите кнопку ОК.
    4. Выполните действия, которые нужно записать.
    5. На вкладке Разработчик в группе Код нажмите кнопку Остановить запись.

    Создание макроса с помощью VBA

    1. На вкладке Разработчик в группе Код нажмите кнопку Visual Basic.
    2. При необходимости в меню Insert выберите команду Module.

    ПРИМЕЧАНИЕ : Модули будут созданы автоматически для всех листов книги.

  5. В окне программы модуля введите или скопируйте нужный текст макроса.
  6. Для запуска макроса из окна модуля нажмите клавишу F5.
  7. Когда макрос будет создан, в меню File выберите команду Close and Return to Microsoft Excel.
  8. Нравится? Подпишись на рассылку полезных советов от prodma.ru

    1. Откройте книгу, содержащую макрос, который нужно скопировать.
    2. На вкладке Разработчик в группе Код нажмите кнопку Макросы.
    3. В поле Имя выберите имя макроса, который нужно скопировать.
    4. Нажмите кнопку Изменить.
    5. В окне редактора Visual Basic выделите строки макроса, которые нужно скопировать.

    СОВЕТ : Чтобы скопировать макрос целиком, включите в выделенную часть строки Sub и End Sub.

  9. Выберите в меню Правка команду Копировать.
  10. В поле Procedure окна кода выберите модуль, куда нужно поместить текст.
  11. Выберите в меню Правка команду Вставить.
  12. Личную книгу макросов (файл Personal.xls) редактировать нельзя, поскольку она является скрытой книгой, которая всегда открыта. Сначала ее следует отобразить с помощью команды Показать. Этот файл также можно открыть в редакторе Visual Basic, нажав клавиши ALT+F11.

    Назначение макроса объекту, графическому объекту и элементу управления

    1. Щелкните на листе правой кнопкой мыши объект, графический объект или элемент управления, которому нужно назначить существующий макрос, а затем в контекстном меню выберите команду Назначить макрос.
    2. В поле Имя выберите макрос, который нужно назначить.

    Создание, выполнение, изменение и удаление макроса в Office для Mac

    Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

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

    В Word 2016 для Mac можно создать макрос с сочетанием клавиш, запустить макрос и удалить макрос, который больше не нужен.

    В меню Вид последовательно выберите пункты Макросы и Записать макрос.

    Введите имя макроса или примите имя по умолчанию, предлагаемое Word.

    Чтобы использовать этот макрос во всех новых документах, убедитесь в том, что в списке Сохранить макрос в выбран пункт Все документы (Обычный).

    Нажмите кнопку Клавиатура, чтобы назначить макросу сочетание клавиш.

    В Word откроется диалоговое окно Настройка клавиатуры.

    Введите сочетание клавиш в поле Нажмите новое сочетание клавиш.

    При нажатии сочетания клавиш в Word отображается команда или действие, назначенные в данный момент этому сочетанию, если таковые имеются.

    Если выбранное сочетание клавиш уже назначено, удалите его в поле Нажмите новое сочетание клавиш и выберите другое сочетание.

    Найдя свободное сочетание клавиш, переходите к следующему шагу.

    Чтобы использовать это сочетание клавиш во всех новых документах, убедитесь в том, что в поле Сохранить изменения в выбран глобальный шаблон Normal.dotm.

    Нажмите кнопку Назначить.

    Когда вы будете готовы к записи макроса, нажмите кнопку ОК.

    Последовательно выберите нужные команды или нажмите нужные клавиши.

    Word записывает щелчки мышью и нажатия клавиш, но не выделение текста мышью. Чтобы выделить текст при записи макроса, используйте клавиатуру.

    Чтобы остановить запись, в меню Вид последовательно выберите пункты Макросы и Остановить запись.

    Запустить макрос можно с помощью назначенного ему сочетания клавиш или из списка Макросы.

    В меню Вид последовательно выберите пункты Макросы и Просмотр макросов.

    В списке Имя макроса выберите макрос, который хотите запустить.

    Нажмите кнопку Запустить.

    В меню Вид последовательно выберите пункты Макросы и Просмотр макросов.

    Убедитесь в том, что в списке Макросы в указано расположение макроса, который вы хотите удалить.

    В списке содержится имя документа, открытого в текущем окне, а также глобальный шаблон и команды Word.

    В поле Имя макроса выберите макрос, который нужно удалить, а затем щелкните значок минуса под списком.

    Когда в Word появится подтверждение на удаление макроса, нажмите кнопку Да.

    В Excel 2016 для Mac можно создать макрос с сочетанием клавиш, запустить макрос и удалить макрос, который больше не нужен.

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

    Примечание: Команды для записи, создания и удаления макросов, а также другие дополнительные функции также доступны на вкладке » разработчик » на ленте. Дополнительные сведения об использовании вкладки «Разработчик» можно найти в разделе Использование вкладки «Разработчик» для создания и удаления макроса в Excel 2016 для Mac.

    Выберите Сервис _гт_ макрос _гт_ запись New.

    В поле Имя макроса укажите имя макроса.

    Чтобы создать сочетание клавиш для макроса, введите букву в поле Option + cmd .

    Выберите расположение макроса в раскрывающемся списке.

    Макросы для Excel. Как создать и как удалить макрос в Excel?

    Как правило, знакомство с языком VBA начинается с выполнения простейших программ, называемых макросами. С их помощью можно выполнить такие функции, как удаление листа или строки в Excel. В дальнейшем полученные знания можно использовать для написания более сложных программ.

    Что такое макрос и зачем он нужен?

    Это специальная программа, написанная на языке VBA для выполнения каких-либо функций в приложении MS Office. Можно воспользоваться уже готовым решением, которое легко найти на просторах сети Интернет, либо написать такую программу самостоятельно. С этим может справиться даже человек, абсолютно незнакомый с языком VBA. Достаточно нажать кнопку «Записать макрос», выполнить некоторые действия, которые затем можно повторить, просто запустив данный макрос, и вовремя нажать кнопку «Стоп».

    Удаление листа Excel

    Делается это следующим образом:

    • Создаем новый документ Excel (на примере Excel 2010).
    • Вставляем несколько листов и вносим в них произвольные данные.

    • Чтобы открыть редактор VBA, нажимаем Alt+F11.
    • Для вставки нового модуля (собственно, это и есть макрос) переходим на вкладку Insert (Вставить) и выбираем Module.
    • Вставляем код:
    • Закрываем окно редактирования макроса.
    • Закрываем редактор VBA.
    • Сохраняем книгу как документ с поддержкой макросов.
    • Открываем сохраненный документ.
    • Переходим «Вид-Макросы-Макросы» и выбираем DeleteSheet.
    • Нажимаем «Выполнить». Появится предупредительное сообщение о том, что в ячейках данного листа могут существовать данные. Чтобы удалить лист Excel макросом, нажимаем на кнопку «Удалить».
    • Для удаления листа без предупредительного сообщения в код макроса необходимо добавить две строчки:

    Удаление строк в Excel

    Теперь посмотрим, как удалить строки макросами Excel. Для начала уберем одну строку. Чтобы модуль легче было искать, так его и назовем – DeleteRow.

    После выполнения макроса в Excel удалится строка под первым номером. Остальные сдвинутся вверх. Для удаления нескольких меняем вторую строку кода на следующую:

    В данном случае будут удалены строки со второй по пятнадцатую.

    Макросы являются программами и могут причинить существенный вред компьютеру. Теперь рассмотрим, как удалить макрос в Excel.

    Открываем вкладку «Вид», нажимаем на «Макросы», выбираем верхнюю строку под названием «Макросы», выбираем подлежащий удалению и нажимаем соответствующую кнопку.

    Процесс удаления макроса в Excel 2003 имеет одну особенность. Чтобы полностью убрать его, нужно будет вручную очистить все модули. Для этого нужно зайти в редактор Visual Basic.

    Удаление макросов программным способом

    Следующий способ, как можно удалить макрос в Excel, заключается в использовании надстройки – специальной программы, которая устанавливается отдельно и содержит в себе несколько модулей для выполнения различных функций. Одной из таких надстроек является Kutools. С помощью данной программы можно одновременно удалить все макросы Excel.

    Данная надстройка имеет более 300 различных функций. Отметим некоторые интересные функции:

    • преобразование обычных чисел в римские и обратно;
    • конвертация валюты с использованием актуальных курсов валют;
    • преобразование единиц измерения;
    • поиск ячеек с определенным форматированием;
    • удаление пустых листов, строк, столбцов.

    При наличии большой базы макросов можно создать собственную надстройку. Благодаря этому можно будет разграничить «свои» и «чужие» (Excel будет им автоматически доверять).

    Что делать, если он хранится в Личной книге? Как удалить макрос в Excel в этом случае? Сперва нужно отобразить скрытое окно. Для этого следует выбрать вкладку «Вид» и в группе «Окно» нажать кнопку «Отобразить». В дальнейшем процедура удаления макроса включает стандартные шаги.

    Важно отметить, что при удалении через вкладку «Вид» открывается окно просмотра макросов. По умолчанию выбран пункт «Находится во всех открытых книгах». Как удалить макрос в Excel только для одного документа? Нужно выбрать соответствующий пункт в меню «Находится»: либо «Эта книга», либо пункт меню с названием данного документа.

    Как удалить макросы в книге?

    Рано или поздно у разработчиков возникает вопрос: как удалить макросы, в том числе и из книги, в которой эти макросы расположены? Да еще так, чтобы об этом никто ничего не узнал?

    Для изменения кодов программно необходимо, чтобы было проставлено доверие к объектной модели проекта VBA и изменяемый проект не должен быть защищен. Подробнее читайте в статье: Что необходимо для внесения изменений в проект VBA(макросы) программно
    Без этого будет невозможно программное вмешательство в проект VBA.

    УДАЛИТЬ ВСЕ МАКРОСЫ ИЗ АКТИВНОЙ КНИГИ

    Sub Delete_Macroses() Dim oVBComponent As Object, lCountLines As Long ‘Проверяем, защищен проект или нет If ActiveWorkbook.VBProject.Protection = 1 Then MsgBox «VBProject выбранной книги защищён.» & vbCrLf & _ » Компоненты не будут удалены.», vbExclamation, «Отмена выполнения» Exit Sub End If For Each oVBComponent In ActiveWorkbook.VBProject.VBComponents On Error Resume Next With oVBComponent Select Case .Type Case 1 ‘Модули .Collection.Remove oVBComponent Case 2 ‘Модули Класса .Collection.Remove oVBComponent Case 3 ‘Формы .Collection.Remove oVBComponent Case 100 ‘ЭтаКнига, Листы lCountLines = .CodeModule.CountOfLines .CodeModule.DeleteLines 1, lCountLines End Select End With Next Set oVBComponent = Nothing End Sub

    Так же можно удалить макросы только из одного компонента(листа или книги или модуля).

    УДАЛИТЬ ОТДЕЛЬНЫЙ МОДУЛЬ(Module), ФОРМУ(UserForm) КОД ЛИСТА ИЛИ КНИГИ
    Удалить модуль/форму целиком достаточно просто:

    ActiveWorkbook.VBProject.VBComponents(«UserForm1»).Collection.Remove ActiveWorkbook.VBProject.VBComponents(«UserForm1») ActiveWorkbook.VBProject.VBComponents(«Module1»).Collection.Remove ActiveWorkbook.VBProject.VBComponents(«Module1»)

    С листами несколько сложнее — если удалить компонент полностью, то будут потеряны и все данные на листе, а не только макросы. Поэтому удалять необходимо только код внутри листа. В качестве примера возьмем Лист1:

    Sub Delete_Macroses_In_One_Comp() Dim oVBComponent As Object, lCountLines As Long Set oVBComponent = ActiveWorkbook.VBProject.VBComponents(«Лист1») With oVBComponent lCountLines = .CodeModule.CountOfLines .CodeModule.DeleteLines 1, lCountLines End With Set oVBComponent = Nothing End Sub

    Здесь тоже есть небольшая поправка: Лист1 — это кодовое(внутреннее имя) листа. На ярлычке имя листа может отображаться как угодно, а вот внутренее. Его можно лучше подглядеть через редактор VBA:

    Чтобы удалить коды из модуля книги необходимо вместо Лист1 указать ЭтаКнига(для англ.версии — ThisWorkbook).

    УДАЛИТЬ ПРОЦЕДУРУ ИЗ ТЕЛА МОДУЛЯ
    Если же Вам необходимо удалить лишь определенную процедуру из модуля формы, стандартного модуля, модуля листа или книги, то сделать это чуть сложнее. Рассмотрим на примере удаления процедуры с именем «Code2» , расположенной в стандартном модуле «Module2»

    Sub Delete_Sub_From_Module() Dim lCountLines As Long, li As Long, lStartLine As Long, lProcLineCount As Long Dim sCodeName As String, sProcName As String With ActiveWorkbook.VBProject.VBComponents(«Module2») ‘получаем кол-во строк кода в модуле lCountLines = .CodeModule.CountOfLines ‘получаем первую строку с кодом, исключая строки декларирования функции и опций модуля lStartLine = .CodeModule.CountOfDeclarationLines + 1 ‘цикл по всем строкам кода внутри модуля For li = lStartLine To lCountLines ‘получаем имя процедуры/функции, внутри которой строка кода sProcName = .CodeModule.ProcOfLine(li, 0) ‘если имя процедуры совпадает с тем, которое нам нужно If sProcName = «Code2» Then ‘узнаем кол-во строк процедуры/функции lProcLineCount = .CodeModule.ProcCountLines(sProcName, 0) ‘удаляем процедуру/функцию .CodeModule.DeleteLines li, lProcLineCount — 1 Exit For End If li = li + lProcLineCount Next li End With End Sub

    Здесь стоит обратить внимание на один момент: данный поиск чуствителен к регистру. Т.е. если требуется удалить процедуру «Code2» , то и к сравнению надо вписывать имя именно так. Если записать «code2» , то совпадения найдено не будет и процедура не будет удалена. Во избежание подобного можно приводить имена к одному регистру:
    If LCase(sProcName) = LCase(«Code2») Then

    УДАЛИТЬ ВСЕ МАКРОСЫ ВРУЧНУЮ
    Еще хочу добавить, что если Вам надо не скрыто, а просто быстро удалить все макросы из книги и Вы счастливый обладатель Excel версии 2007 и выше, то Вам всего лишь необходимо книгу, из которой хотите удалить макросы, Сохранить как-обычная Книга Excel(МенюСохранить какКнига Excel).

    Программно это можно сделать простым кодом:

    Sub SaveBookWithoutMacro() ActiveWorkbook.SaveAs Filename:=»C:Книга1.xlsx», FileFormat:=51 End Sub

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

    Статья помогла? Поделись ссылкой с друзьями!

    Поиск по меткам

    Если написать вместо
    Set oVBComponent = ActiveWorkbook.VBProject.VBComponents(«ThisWorkbook»)
    вот так
    Set oVBComponent = ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.CodeName),
    то макрос будет срабатывать и в английской и в русской версии (ThisWorkbook и ЭтаКнига).
    Предположу, что срабатывать будет со всеми языками.

    Поделитесь своим мнением

    Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме — добро пожаловать на Форум

    Как удалить макросы в Excel

    Если Вы задались вопросом «Как запустить макрорекордер и записать макрос в Excel?» то эта статья для Вас. Рассмотрим процесс запуска макрорекордера и записи макроса в разных версиях Excel. Для большей определенности запишем макрос, выделяющий столбец «А» электронной таблицы.

    Microsoft Excel 2003

    Запускаем приложение, заходим в главное меню Сервис/Макрос и выбираем пункт «Начать запись…»

    После выбора пункта меню «Начать запись» появляется окно, в котором присваиваем нашему макросу имя «Макрос1», сочетание горячих клавиш присваивать не будем, для сохранения выберем личную книгу макросов, описание оставим то, которое есть по умолчанию. Жмем ОК.

    С этого момента все наши действия записываются макрорекордером, автоматически переводятся на язык программирования Visual Basic for Application и записываются в модуль личной книги макросов.

    В самом начале статьи мы условились, что нашим действием будет выделение столбца «А», поэтому выделяем столбец и останавливаем запись выбором меню «Остановить запись», которая находится также в меню Сервис/Макрос.

    Вот собственно и все, макрос записан.

    Посмотрим теперь, как работает записанный нами макрос. Для этого снимем выделение со столбца, зайдем в меню Сервис/Макрос/Макросы либо нажмем сочетание клавиш Alt+F8, выберем из списка макрос с нашим названием «Макрос1» и нажмем кнопку «Выполнить». Обратите внимание, что с помощью этого окна можно не только запустить макрос, можно также внести изменения в его программный код, а также удалить макрос.

    Результатом выполнения макроса станет выделенный столбец «А», строго в соответствии с тем действием, которое мы записали. Если записанный Вами макрос не запустился, то Вам следует изменить параметры системы безопасности.

    Для просмотра программного кода записанного макроса, запускаем редактор Visual Basic через меню Сервис/Макрос/Редактор Visual Basic, либо нажатием сочетания клавиш Alt+F11. В открывшемся окне редактора видим новый модуль Module1 в проекте VBAProject(PERSONAL.XLS), в котором сохранен программный код записанного нами макроса.

    Microsoft Excel 2007

    Запускаем приложение. Кнопка «Начать запись…» в Excel 2007 расположена сразу в нескольких местах, самое доступное из которых в левом нижнем углу окна приложения, в строке состояния.

    Еще одно расположение откуда доступен запуск макрорекордера на вкладке «Вид», в группе «Макросы». Прежде чем продолжить, остановимся на том, что такое лента и что такое вкладка на этой ленте. Лента — это широкая полоса в верхней части окна программы, на которой размещены тематические наборы команд, собранные во вкладках и в группах. Вкладка в свою очередь, представляет собой часть ленты с командами, сгруппированными по задачам, которые обычно выполняются совместно. Группа — это еще более локализованный набор команд, сформированный по принципу наибольшей близости по типу выполняемой задачи. Непосредственно в группах уже находятся кнопки для выполнения команд.

    И еще одно место где можно включить запись макроса макрорекордером — это вкладка «Разработчик», в том случае, если она предварительно была отображена на ленте. По умолчанию эта вкладка в Excel 2007 не отображается.

    На вкладке «Разработчик» расположены все доступные инструменты для работы с макросами. О том как ее отобразить описано в статье «Работа с макросами VBA. Инструменты для работы с макросами.»

    После нажатия, кнопка «Запись макроса» меняет свое название на «Остановить запись». Выполнение и просмотр кода макроса осуществляется точно также, как в Excel 2003.

    Microsoft Excel 2010

    В Excel 2010 расположение кнопок записи и остановки записи макроса абсолютно аналогичное версии Excel 2007. Это левый нижний угол окна приложения в строке состояния, вкладка «Вид» и вкладка «Разработчик». В этой версии Excel, редактор Visual Basic устанавливается как отдельный компонент пакета с наименованием «Общие средства Office» и называется «Visual Basic для приложений», поэтому если у Вас возникли проблемы с доступностью макрорекрордера или редактора Visual Basic, то Вам необходимо вернуться на этап установки пакета Microsoft Office и доустановить недостающий компонент. Кроме того, может возникнуть проблема при запуске самого макроса, связанная с настройками системы безопасности.

    Другие материалы по теме:

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  13. Как удалить макрос в excel в личной книге макросов
  14. Как удалить макрос в excel vba
  15. Как удалить макрос в excel 2010
  16. Как удалить лишнюю страницу в word в середине документа
  17. Как удалить лишнюю страницу microsoft word

  18. 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии