Auditportal.ru

Аудит Портал
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Макросы в Excel

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

С помощью инструмента записи макросов Excel может записывать действия пользователя, создавая программу, написанную на языке программирования Visual Basic for Application (VBA), и затем выполняя ее. Для этой работы не требуется иметь специальное образование или быть программистом.

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

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

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

Подготовка к созданию макроса

В Excel макросы записывают все действия (выделение ячеек, прокрутка, копирование и т.д.), выполняемые пользователем. Чтобы автоматизация была успешной, необходимо продумать шаги, которые вы хотите автоматизировать.

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

  • Определить шрифт;
  • Определить заливку;
  • Определить границы.

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

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

Теперь давайте запишем саму запись. Стиль может быть применен к любой ячейке, которая этого требует (при условии, что ячейка не изменяется во время записи). Перейдите на вкладку «Вид» и найдите область «Макросы». Нажав на стрелку, выберите пункт «Записать макрос». Не обращайте внимания на появившееся окно, его параметры будут рассмотрены далее, просто нажмите «ОК».

Читайте так же:
Как запретить пользователям печатать лист?

Залейте текст цветом, установите границы и выделите текст курсивом, используя шрифт Times New Roman. Таким же образом, как вы остановили запись, остановите запись. Выберите Остановить запись, когда появится соответствующая опция.

Запуск макроса и назначение горячих клавиш

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

Окно управления макросами

Нажмите кнопку «Выполнить». Выделенный диапазон должен поменять свое оформление на то, которое Вы определили во время записи.
Если запускать процедуру придется часто, то есть смысл назначить ей горячие клавиши. Кликните кнопку «Параметры» в том же окне. На экране появиться такой диалог:

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

  • Имя макроса — здесь его нельзя изменить. Вы можете сделать это только в коде письменной процедуры.
  • Сочетание клавиш — введите символ на том языке, на котором вы чаще всего будете работать, так как, например, Ctrl + q и Ctrl + y отличаются, но находятся на одной и той же клавише. Кейс также имеет большое значение. Если вы укажете символ «Y», Ctrl + Shift + y будет действовать как клавиша быстрого доступа.
  • Описание — служит в качестве примечания для человека, написавшего макрос, и в качестве пояснения для других.

Во время перекодирования макроса можно настроить все вышеперечисленные параметры.

Изменение макроса

Написанные процедуры могут быть отредактированы при наличии знаний VBA, но в данном разделе мы рассмотрим простой пример, чтобы объяснить принцип.

Откройте окно макроса, выберите один из доступных макросов и нажмите кнопку «Изменить». Вы будете перенаправлены в редактор Visual Basic модуля, содержащего код выбранного макроса. Если вы следовали статье до конца, вы должны увидеть примерно следующий сценарий (зеленый текст после апострофа является комментарием и не выполняется программой):

Читайте так же:
Как изменить текстовые строки в ячейках в листе Google?

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

Дополните свой код в соответствии с приведенным ниже примером:

Запустите макрос и убедитесь, что наше сообщение появилось внизу страницы:

Строка статуса, выведенная через макрос

Чтобы сохранить все макросы в книге, при сохранении книги выбирайте расширение файла .xlsm.

Ошибка приложения Excel при открытии файла с макросами

Не так давно я снова столкнулся с ошибками в Excel, когда пытался активировать макросы после открытия файлов .xlsm. Я вспомнил, что подобная проблема преследует пользователей уже некоторое время, но чаще всего она наблюдалась в Excel 2013 и Excel 2016. Характеристики этой группы ошибок следующие:

  • Excel закрывается при открытии файла макроса (при включенном безопасном режиме Включить все макросы)
  • Ошибка Excel возникает при попытке активировать содержимое (нажатием соответствующей кнопки)
  • Ошибка Excel возникает при сохранении файла макроса;

Ну и по горячим следам очередного инцидента, дабы не откладывать на потом, решил для себя собрать небольшой хаб по ошибкам приложения Excel с последующей модификацией, дабы опять не терять время на поиск информации в Сети и на составление облака причин.
Суть в том, что в процессе открытия файла xlsm, и при отключенных макросах, в верхней части основного окна (над таблицей), высвечивается строка уведомления: ПРЕДУПРЕЖДЕНИЕ СИСТЕМЫ БЕЗОПАСНОСТИ Запуск макросов отключен , с кнопкой включения содержимого (макросов). Как только пользователь её нажимает, Excel попросту аварийно завершается (падает) с ошибкой Программа Microsoft Excel не работает и характерным окном уведомления:

excel ошибка макроса

Было замечено, что непосредственно перед возникновением ошибки приложения Excel не было установлено никаких обновлений системы и обновлений Office. Возможно, последние обновления Office вызывают эту проблему, но я не наблюдал прямой связи и не анализировал проблему углубленно. Также нет зависимости от версии ОС (я наблюдал сбои на Windows 10 LTSC и Windows 7 Professional). Такая информация об исключениях (вывод усечен) обычно появляется в аварийных дампах приложений (*.hdmp):

Читайте так же:
Как изменить настройки нескольких полей в сводной таблице?

Код c0000005 — Access denied, обычно возникает в NTSTATUS. Обычно в дампе можно увидеть стек потоков таким образом (вывод оптимизирован для лучшего представления):

Из которого ясно только то, что Excel дает сбой в глубине функций библиотеки vbe7.dll (среда выполнения VBA), загруженной в адресное пространство процесса. Эту проблему вызывает обработчик макросов Excel. Сценарии VBA также принято называть макросами.

Что такое VBA и для чего он применяется?

В приложениях MS Office, таких как Excel, Word, PowerPoint и Access, VBA используется для автоматизации многих рутинных задач (например, повторяющихся однотипных действий), позволяет создавать формы для общения с пользователем и предлагает множество других богатых возможностей. С помощью VBA можно управлять электронной таблицей через объектно-ориентированную модель кода/данных; с помощью кода VBA входные данные из таблиц могут быть обработаны и представлены в виде сводных таблиц (результатов) и диаграмм (графиков). Таблица становится интерфейсом к коду, позволяя легко использовать, изменять и контролировать вычисления. Выходные данные проекта VBA, используемого в описанных выше структурах приложений (электронные таблицы Excel, презентации PowerPoint, базы данных Access), компилируются в специальный исполняемый двоичный файл, который помещается внутрь основного файла формата. В случае Excel это файл vbaProject.bin, расположенный внутри файла *.xslm в каталоге /xl, который представляет собой двоичный исполняемый файл проекта, содержащий макрос в скомпилированном (готовом к выполнению) виде.

Решение 1: вставка нового листа

Соблюдайте указанный порядок:

  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое .
  3. Добавляем в книгу Excel новый лист: правая кнопка мыши на ярлыках Лист1/Лист2/Лист3 → Вставить → Лист .
  4. Сохраняем электронную таблицу. Закрываем Excel.
  5. Открываем проблемный файл заново и включаем макросы.

Решение 2: перекомпиляция проекта

Выполните последовательность операций :

  1. Запускаем и открываем новую книгу Excel (не ваш проблемный файл).
  2. Открываем меню Файл — выбираем Параметры — далее открываем Центр управления безопасностью и заходим в Параметры центра управления безопасностью .
  3. В разделе Параметры макросов — выставляем чекбокс Отключить все макросы с уведомлением .
  4. В разделе Надежные расположения — выставляем чекбокс Отключить все надежные расположения .
  5. В разделе Надежные документы — выставляем чекбокс Отключить надежные документы .
  6. Жмем везде OK . Закрываем Excel.
  7. Открываем [проблемный] .xlsm-файл (файл с макросами).
  8. Не нажимаем кнопку Включить содержимое .
  9. Открывает редактор Visual Basic при помощи комбинации клавиш Alt + F11 . Либо можно использовать обходной маневр: в настройках включаем меню Разработчик , после этого в появившемся сверху в ленте меню Разработчик выбираем пункт Visual Basic .
  10. В открывшемся окне редактора Visual Basic (VBA редактор) пересохраняем проект: для этого жмем на панели инструментов кнопку Сохранить (изображение дискетки или комбинация Ctrl + S ).
  11. Выбираем из меню Debug — выбираем пункт меню Compile VBA Project :

recompile vba project

Решение 3: добавление модуля

Другим решением является внесение изменений в макрос без его перекомпилирования.

  1. Открываем [проблемный] .xlsm-файл (файл с макросами).
  2. Не нажимаем кнопку Включить содержимое .
  3. Открывает редактор Visual Basic (при помощи комбинации клавиш Alt + F11 ).
  4. Открываем меню Tools → пункт Options . В открывшемся окне переходим на вкладку General и деактивируем чекбокс Compile on Demand :

Как включить или отключить макросы в Excel 2003, 2007 и 2010

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

Мы рассмотрим, как это сделать в разных версиях Excel. Это нужно сделать только один раз. После сохранения настроек макросы будут запускаться автоматически.

Как включить или отключить макросы в Excel 2003

Чтобы включить или отключить макросы в Excel 2003, необходимо перейти в следующее меню Сервис | Макрос | Безопасность

Как включить или отключить макросы

В появившемся окне установите переключатель Safety Level в положение Medium или Low.

Как разрешить запускать макросы в Excel

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

Как включить или отключить макросы в Excel 2007

В Excel 2007 макросы можно включать и выключать таким же образом, но это меню находится в другом месте. В Excel 2007 это можно сделать в окне Параметры макроса. Чтобы открыть это меню, перейдите в Меню | Параметры Excel

Как включить или отключить макросы в Excel 2010

В открывшемся окне запустите Центр управления безопасностью | Настройки центра управления безопасностью | Настройки макроса.

kak-otklyuchit-vklyuchit-makrosy-excel2007-2

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

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

Для более быстрого способа мы будем использовать Excel 2010, но он работает и в Excel 2007

Как включить или отключить макросы в Excel 2010

Запуск макросов в Excel 2010 аналогичен Excel 2007, поэтому мы рассмотрим другой способ открытия окна Параметры макросов для включения и отключения макросов.

Для этого перейдите в Developer | Macro Security | Macro Options | Enable all macros (не рекомендуется, можно запустить опасную программу).

Как включить макросы в Excel 2010

Раздел панели инструментов разработчика в Excel 2007 виден по умолчанию, но в Excel 2010 его необходимо включить. Функция макросов особенно полезна для пользователей, которые часто работают с макросами. Чтобы включить панель инструментов разработчика в Excel 2010, необходимо выполнить команду Файл | Параметры | Настройка ленты, а затем установить флажок справа рядом с надписью Разработчик

Как включить панель разработчик в Excel

Мы искренне надеемся, что вы смогли решить свой вопрос с помощью нашей статьи. Заранее спасибо за то, что нажали +1 и/или Like ниже или поделились с друзьями.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector