Статья предназначена для людей, которые хотят научиться писать программы на встроенном в Excel Visual Basic (VBA), но абсолютно не знают что это такое.
Для начала — несколько слов о том, зачем это нужно. Средство VBA в MS Excel, представляет нам универсальный инструмент для быстрого и точного решения любых индивидуальных пользовательских задач в MS Excel. Можно конечно использовать и встроенные в MS Excel функции которых великое множество, однако они далеко не всегда решают поставленную задачу.
Итак, создадим для примера простейшую программу. Будем использовать MS Excel 2007. Откройте MS Excel, нажмите «сохранить как» и сохраните файл Вашей программы нажав «Книга ексель с поддержкой макросов».
Далее необходимо включить вкладку «Разработчик». Для этого нажимаем «Параметры Excel»
Ставим галочку на «Показывать вкладку «Разработчик» на ленте»
После этого на ленте, в верху листа Excel, появится вкладка «Разработчик», которая содержит в себе инструменты для создания VBA макросов.
Представим себе небольшую задачу — допустим мы имеем 2 числа, нам необходимо их сложить и по полученной сумме получить значение из нашей таблицы.
Поставим в ячейки Листа1 следующие значения:
на Листе2 заполним ячейки, создав таблицу из 2 столбцов
Далее перейдем на Лист1, нажмем на вкладку «Разработчик», «Вставить», на ней выберем кнопку
и нарисуем кнопку на Листе1, после чего сразу появится окно «Назначить макрос объекту», в котором выбираем «Создать»
После этого откроется редактор Visual Basic, и автоматически напишется наименование процедуры, которая будет выполняться при нажатии кнопки. Под названием процедуры впишем следующий код:
Код выполнит следующие действия:
- MsgBox («Это мой первый Макрос!») — сообщение
- Переменной q присваивается значение ячейки на Листе1, с координатами 2 строка, 2 столбец
- Переменной w присваивается значение ячейки на Листе1, с координатами 3 строка, 2 столбец
- В ячейку на Листе1, с координатами 4 строка, 2 столбец, записывается сумма q+w
Далее получим значение столбца В из Листа2, которое расположено на той же строке где значение нашей суммы совпадает с значением столбца А.
Введем следующий код:
и получим при нажатии на кнопку следующий результат:
из результата видно что макрос подобрал число из таблицы на Листе2 в соответствии с нашей суммой.
Не буду вдаваться в подробности этого хитрого кода, так как цель данной статьи — начать писать макросы. Для VBA в интернете есть масса ресурсов, с примерами и разъяснениями, хотя для автоматизации расчетов вполне хватит объема информации в справке.
Таким образом с помощью VBA возможно автоматизировать расчет любой сложности и последовательности. Справочные таблицы можно копировать из различной литературы на отдельные листы Excel и писать последовательный расчет с кнопками.
- Статьи
Как включить макросы (разрешить использование макросов) в Excel 2007 — 2010:
1) Нажмите большую круглую кнопку Office (в левом верхнем углу), и щелкните кнопку «Параметры Excel»
2) В открывшемся окне «Параметры Excel» в левом столбце выделите пункт «Центр управления безопасностью»,
после чего справа (в том же окне) — нажмите кнопку «Параметры центра управления безопасностью»:
3) В открывшемся окне «Центр управления безопасностью» выделите пункт «Параметры макросов»,
и справа отметьте опцию «Включить все макросы»:
4) Перезапустите Excel (полностью его закрыв, и открыв снова), чтобы изменения настроек вступили в силу.
ВАЖНО: После того, как в настройках Excel вы включили макросы (установили низкий уровень безопасности),
необходимо полностью закрыть Excel, и запустить его заново, — только после этого настройки применятся.
- 151054 просмотра
Как запустить макрос в Excel? Разрешение выполнения макросов в зависимости от версии Excel. Параметры макросов.
Чтобы разрешить в Excel выполнение макросов, необходимо снизить уровень безопасности. Порядок действий зависит от версии вашей программы.
Разрешение выполнения макросов Excel 97-2003
В меню «Сервис» выберите «Макрос», в открывшемся вложенном меню нажмите «Безопасность…». В открывшемся окне установите средний или низкий уровень безопасности.
При выборе среднего уровня — решение о запуске макросов придется каждый раз принимать пользователю, при выборе низкого уровня — Excel будет автоматически запускать все макросы.
После установки уровня безопасности полностью закройте Excel и запустите снова, чтобы изменения вступили в силу.
Разрешение выполнения макросов Excel 2007-2016
На ленте выберите меню «Файл», в нем — кнопку «Параметры», в открывшемся окне «Параметры Excel» выберите строку «Центр управления безопасностью», на открывшейся странице нажмите кнопку «Параметры центра управления безопасностью». В открывшемся окне «Центр управления безопасностью» выберите строку «Параметры макросов» и отметьте пункт «Включить все макросы».
После установки уровня безопасности полностью закройте Excel и запустите снова, чтобы изменения вступили в силу.
Описание параметров макросов
(с сайта support.office.com)
- Отключить все макросы без уведомления. Этот параметр отключает макросы и связанные с ними оповещения безопасности.
- Отключить все макросы с уведомлением. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при их наличии. Это позволяет включать макросы, когда это требуется.
- Отключить все макросы кроме макросов с цифровой подписью. Этот параметр отключает макросы без отключения оповещений системы безопасности, которые будут появляться при их наличии. Однако при наличии у макроса цифровой подписи надежного издателя он запускается, если этому издателю выражено доверие. В противном случае выводится уведомление о необходимости включить макрос, содержащий цифровую подпись, и выразить доверие издателю.
- Включить все макросы (не рекомендуется, возможен запуск опасной программы). Если задан этот параметр, выполняются все макросы. Компьютер становится уязвимым для потенциально опасных программ.
Чтобы избежать заражения компьютера, проверяйте файлы, скачанные из неизвестных источников, антивирусной программой. Архивные файлы перед проверкой антивирусом лучше не распаковывать, чтобы случайно не запустить самораспаковывающийся архив до проверки.