В excel написание макроса - Учим Эксель

Учебник для начинающих по написанию макросов VBA в Excel (и почему вы должны обучаться)

Учебник для начинающих по написанию макросов VBA в Excel (и почему вы должны обучаться)

Учебник для начинающих по написанию макросов VBA в Excel (и почему вы должны учиться)

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

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

Что такое VBA?

VBA — это Visual Basic для приложений , язык программирования, который вы сможете применять в почти всех приложениях Microsoft. Visual Basic — это язык программирования, а VBA — его версия для определенного приложения. (Microsoft закончила выпуск Visual Basic еще в 2008 году, но VBA продолжает развиваться).

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

Тем не наименее, VBA просит времени, чтоб привыкнуть.

Достоинства макросов VBA в Excel

Если VBA труднее, чем запись макроса, для чего для вас его применять? Маленький ответ: вы получаете еще больше способностей от макросов VBA.

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

И как вы освоитесь с VBA, вы можете созодать все, что сможете, в обыкновенном макросе за еще наименьшее время. Результаты также будут наиболее прогнозируемыми, так как вы буквально указываете Excel , что созодать. Там нет никакой двусмысленности совершенно.

Интересно почитать:  Для чего нужны в excel макросы

Создав макрос VBA, его просто сохранить и поделиться им, чтоб любой мог пользоваться им. Это в особенности полезно, когда вы работаете со почти всеми людьми, которым необходимо созодать то же самое в Excel.

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

Пример макроса VBA в Excel

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

Учебник для начинающих по написанию макросов VBA в Excel (и почему вы должны учиться) пример таблицы vba

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

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

Объявление Sub

В начале модуля у нас есть «Sub StoreSales ()». Это описывает новейшую подпрограмму под заглавием StoreSales.

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

В конце модуля у нас есть «End Sub», который докладывает Excel, что мы окончили с сиим макросом VBA.

Объявление переменных

Все 1-ые строчки кода в нашем скрипте начинаются с «Dim». Dim — это команда VBA для объявления переменной.

Таковым образом, «Dim Sum1» делает новейшую переменную с именованием «Sum1». Но нам необходимо сказать Excel, что же это все-таки за переменная. Нам необходимо избрать тип данных. В VBA существует много различных типов данных, полный перечень которых можно отыскать в справочных документах Microsoft .

Так как наш макрос VBA будет работать с валютами, мы используем тип данных Currency.

Оператор «Dim Sum1 As Currency» показывает Excel сделать новейшую переменную Currency с именованием Sum1. Любая переменная, которую вы объявляете, обязана иметь оператор «As», чтоб сказать Excel ее тип.

Интересно почитать:  Как в эксель 2010 включить макросы

Начиная для цикла

Циклы являются одними из самых массивных вещей, которые вы сможете сделать на любом языке программирования. Если вы не знакомы с циклами, ознакомьтесь с сиим разъяснением циклов Do-While. циклы В этом примере мы используем цикл For, который также рассматривается в статье.

Ах так смотрится цикл:

Это гласит Excel, чтоб перебирать ячейки в обозначенном спектре. Мы употребляли объект Range. , который является специфичным типом объектов в VBA. Когда мы используем его таковым образом — Range («C2: C51») — это гласит Excel, что мы заинтересованы в этих 50 ячейках.

«Для всякого» гласит Excel, что мы собираемся что-то создать с каждой ячейкой в ​​спектре. «Последующая ячейка» идет опосля всего, что мы желаем создать, и гласит Excel начать цикл с начала (начиная со последующей ячейки).

У нас также есть последующее утверждение: «Если IsEmpty (Cell), то Exit For».

Сможете ли вы угадать, что он делает?

Примечание. Строго говоря, внедрение цикла «В то время как» могло бы быть наилучшим выбором. Но ради обучения я решил применять цикл For с выходом.

If-Then-Else Заявления

Ядро этого определенного макроса находится в операторах If-Then-Else. Вот наша последовательность условных операторов:

По большей части вы, возможно, сможете додуматься, что делают эти утверждения. Может быть, вы не знакомы с ActiveCell.Offset. «ActiveCell.Offset (0, -1)» показывает Excel посмотреть на ячейку, которая находится в одном столбце слева от активной ячейки.

В нашем случае это гласит Excel, чтоб обратиться к столбцу номера магазина. Если Excel находит 1 в этом столбце, он берет содержимое активной ячейки и добавляет его в Sum1. Если он находит 2, он добавляет содержимое активной ячейки в Sum2. И так дальше.

Excel проходит все эти утверждения по порядку. Если условный оператор операторы операторы доволен, он завершает утверждение Тогда. Если нет, он перебегает к последующему ElseIf. Если он дойдет до конца и ни одно из критерий не будет выполнено, он не предпримет никаких действий.

Интересно почитать:  Excel макросы самоучитель

Композиция цикла и условных выражений — это то, что движет сиим макросом. Цикл предписывает Excel пройти через каждую ячейку в выделении, а условные выражения докладывают ему, что созодать с данной для нас ячейкой.

Запись значений ячеек

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

Используя «.Value» и символ равенства, мы устанавливаем в каждой из этих ячеек значение одной из наших переменных.

Вот и все! Мы сообщаем Excel, что окончили написание этого Sub с «End Sub», и макрос VBA завершен.

Когда мы запускаем макрос при помощи клавиши « Макросы» на вкладке « Разраб », мы получаем наши суммы:

Учебник для начинающих по написанию макросов VBA в Excel (и почему вы должны учиться) vba final e1529502796437

Собираем строй блоки VBA в Excel

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

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

Когда вы застряли, пуск поиска Гугл — это резвый метод получить ответы на ваши вопросцы VBA. А справочник Microsoft по VBA для Excel быть может полезен, если вы желаете изучить технический ответ.

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

Ссылка на основную публикацию
Adblock
detector