Как писать макросы в MS Excel 2007

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

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

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

Итак, создадим для примера простейшую программу. Будем использовать 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 и писать
последовательный расчет с кнопками.

Источник: