VBA Excel: что это такое, как пользоваться объектами и применить макросы
Первая версия Excel появилась в 1985 году. С этого времени ПО продолжать развиваться, в результате чего появился vba excel. Что это такое и для чего можно использовать, стоит рассмотреть более подробно.
Содержание:
- Что это такое
- Объекты, коллекции, свойства и методы
- Как начать этим пользоваться
- Макросы в Excel
- Функции VBA
- Решение задачи с использованием программирования на VBA
- Заключение
Что это такое
При создании программы Excel использовался специальный технический язык Visual Basic for Application. Первоначально его устанавливают в процессор Microsoft. Технические специалисты отмечают, что данный язык легко изучить и использовать в работе.
Однако существует нюанс, о котором должен знать каждый пользователь: не все версии могут быть совместимы. Это связано с тем, что функционально VBA связана с новой версией продукта, при этом в старых программах таких возможностей нет. Кроме того, код открыт для посторонних пользователей, поэтому его легко изменить. Однако посредством IBM Lotus Symphony можно задать комбинацию пароля, чтобы просматривать документы смог только один пользователь.
Объекты, коллекции, свойства и методы
Для пользователей, которые планируют в будущем использовать VBA, необходимо разобраться с ключевыми понятиями и узнать, что такое объект. Обратившись к программе Excel, здесь в данном случае объектами являются:
Все объекты создают определенную иерархию, в которой подчиняются друг другу. Имеющийся Application должен соответствовать продукту Excel. Так, например, чтобы использовать определенную ячейку, пользователь должен задать определенный путь к ней.
Коллекция – это группа объектов, принадлежащих к тому же классу с форматом записи ChartObjects. Отдельные составляющие также принадлежат категории объектов.
Еще одно понятие, с которым важно ознакомиться, это «Свойства». Каждый объект имеет обязательную характеристику. Для Range, как правило, Value и Formula.
Методы – это задаваемые команды, которые требуется осуществить пользователю. Если требуется заполнить команду в форме VBA, то в обязательном порядке нужно проставлять точки, отделяя объект. В качестве примера: Cells (1,2).Select. Данная команда предполагает, что требуется выбрать ячейку под номером 1.2. Если значение было задано неверно или потребуется удалить все содержимое ячейки, то необходимо задать команду Selection.ClearContents.
Как начать этим пользоваться
Для начала необходимо создать файл в формате Excel и сохранить на рабочем столе. Важно, чтобы файл поддерживал макросы. Далее нужно перейти к VB. Для этого потребуется зажать комбинацию из клавишей «Alt+F1» . Потом требуется следовать инструкции:
- Рядом с Excel в верхней части можно найти специальное меню;
- Из перечисленных функций выбрать «Mudule» ;
- Сохранить и нажать на изображение с надписью «floppy disk» ;
- Вписываем код.
Формат кодировки должен выглядеть в таком формате: Sub program-‘код-End Sub.
Внимание: строка, в которой должен прописываться код будет выделена зеленым цветом. Перед тем, как прописывать кодировку, крайне важно поставить апостроф. Он означает, что после шифра должен проставляться определенный комментарий.
Это все, что понадобиться, чтобы сформировать инструмент VBA. Для пользователей, которые имеют представление о том, как использовать Visual Basic, весь процесс займет минимум времени. Но процесс также не предполагает сложностей для тех пользователей, которые ранее не сталкивались с решением подобной задачи.
Макросы в Excel
Макросом называют специальный код, который записывается на специальном языке VBA. Их можно создавать в ручном или автоматическом режиме. Для этого потребуется использовать специальный макроредактор.
Программа, которая записывает каждое действие, произведенное в программе Excel, преобразует их в специальный язык VBA. Код, который создается посредством макрорекодера, легко поддается редактированию и удобен в использовании. Важно отметить, что макрос можно использовать неограниченное количество раз. Даже если пользователь не знает, каким образом нужно обращаться с VBA, он может максимально автоматизировать весь процесс.
Чтобы самостоятельно создать макрос, рекомендуется использовать следующую инструкцию:
- Кликнуть правой кнопкой мыши на созданную ленту и жать на функцию настройки. С его помощью можно открыть параметры диалогового окна:
- В открывшемся окне появится параметр настройки ленты. В правой части находятся основные функции, где потребуется поставить галочку напротив разработчика:
- Подтвердить действие, нажимая кнопку «ОК» .
Если все действия выполнены в правильной последовательности, в основной меню должно появиться дополнительное меню Разработчик, как указано на скриншоте:
Чтобы воспользоваться расширенными функциями таблицы Excel, стоит попробовать самостоятельно записать макрос. Он будет самостоятельно выбирать ячейку и формировать в ней заданный текст. Для этого потребуется сделать следующие шаги:
- Перейти в созданную вкладку разработчика;
- В меню кода выбрать функцию записи. Должно открыться отдельное окно
- В окне записи потребуется задать имя для будущего макроса. Однако важно отметить, что важно выполнить несколько правил, чтобы правильно задать имя: нельзя использовать пробелы. Поэтому лучше задавать слитное название, даже если оно состоит из двух слов. Также разрешается использовать нижний дефис.
- Если возникает необходимость, то можно задать комбинацию из клавиш. В таком случае нужно одновременно зажать следующее сочетание: «Ctrl+Shift+N» . Важно запомнить, что данная комбинация при использовании способна отменить абсолютно любые заданные действия посредством горячих клавиш. Если ранее для автоматического сохранения использовалось сочетание «Ctrl+S» , то более для этой функции его нельзя использовать.
- Перед тем, как сохранить документ, нужно проверить, правильно ли задана опция. Это необходимо для того, чтобы удостовериться в том, что макрос является составляющей выбранной книги. Он будет присутствовать даже при автоматическом сохранении или если потребуется с кем-то поделиться файлом.
- Как дополнение можно придумать описание к файлу. Чаще всего это требуется, если пользователь планирует создать несколько макросов подряд, чтобы в будущем не запутаться, какой из них за что отвечает;
- Остается нажать «OK» . После этого макрос начнет автоматически записывать информацию в книге. Если нужно остановить запись, то кликаем по соответствующей кнопке рядом с меню разработчика;
- Выбираем другую ячейку, например А2;
- Вводим любой текст и нажимает кнопу «Enter»
- Далее приостанавливаем запись.
На этом все действия выполнены и остается использовать макрос при необходимости. Стоит отметить, что с его помощью каждый пользователь сможет понять, каким образом устроен макрорекодер.
Чтобы ознакомиться с полученными результатами, достаточно перейти в VB в Excel:
- Открыть вкладку разработчика
- В меню кодировки открыть Visual Basic.
Чтобы перейти к кодировке VBA или его редактор, можно использовать комбинацию из клавиш Alt и F11. Для ознакомления, каким образом выглядит сам редактор, представлен следующий скриншот:
Меню Visual Basic
- Панель, на которой располагает меню представляет основные команды, которые можно осуществлять посредством установленного редактора;
- Панель с инструментами напоминает ту, которую можно найти в программе Excel. При необходимости можно задать дополнительные кнопки для отдельного вывода, если они используются чаще, чем остальные;
- Кодовое окно. В нем размещается кода VBA. Для каждого объекта имеется специальное окно, которое указывается в проводнике. Если все правильно сделано, то макрос должен высвечиваться в окне проводника;
- Свойства. Используя данное окно, пользователь сможет просмотреть свойства по каждому объекту в отдельности.
Когда записывается новый макрос, должны происходить следующие изменение:
- Появление нового модуля
- Появление набранного названия
- Добавляется новая функция.
Чтобы показалось окно ввода, остается дважды кликнуть на модуль, чтобы появилась следующая запись, как показано на скриншоте:
Важно принять к сведению, что самостоятельно записанный код эффективен в определенных областях применения (финансовой или математической). Кроме того, зачастую макрорекодер может к имеющемуся инструментарию предлагать совершенно новые и ненужные функции.
Функции VBA
На примере инструкций, которые были приведены ранее, можно сделать вывод о том, что использование VBA и макросов не предполагает больших сложностей. Общее количество функций, которые были созданы специально для программирования на языке VBA, составляет 160 возможностей. Все функции подразделяются на несколько групп:
- Математическая. Применяя ее для аргумента, можно вычислять косинусы и логарифмы, что чаще всего требуется для студентов технических вузов и занимающихся программированием. Функция избавляет от необходимости вести математические подсчеты вручную и ускоряет процесс;
- Финансовая. Данная функция благодаря наличию помогает запускать программирование для финансовых операций. Эти опции помогут составлять грамотный финансовый и бухгалтерский учет;
- Работа с массивами посредством L,U Bound, Array, IsArray;
- Отдельная функция VBA для ведения строк. Стоит отметить, что группа представлена многочисленными способностями. Так, например, среди самых распространенных – Space, которая задается в строке с определенным количеством пробелов. Функция Asc требуется для записи кодировки в ANSI. Данные функции пользуются большой популярностью среди пользователей и дают возможность полноценной работы с файлами Excel;
- Преобразование функций и ввода данных. Использование CVar помогает вернуть изначальное значение аргумента и преобразовать его в другой формат – Variant
- Изменение и корректировка дат. Они помогают расширить спектр имеющихся возможностей. Чтобы вернуть исходное название или день, используется WeekdayName. Чтобы узнать какое количество секунд прошло с наступления 12 ночи, применяется функция Timer;
- Чтобы преобразовать число в специальные системы можно обратиться к возможности Oct, которая поможет представить число, состоящее из 8 чисел;
- Форматирование. Основной является Format. С ее помощью осуществляется возвращение значения в виде Variant, которое дальше форматируется в соответствии с установленными правилами.
Решение задачи с использованием программирования на VBA
Чтобы просчитать возможные отклонения, требуется ввести обозначения и получить заданную формулу. Для того, чтобы просчитать процентное обозначение потребуется использовать следующую формулу: (F-P)разделить на P*100, суммарное значение должно получиться при действии (F-P). Полученные результаты рекомендуется сразу вводить в таблицу.
Чтобы сформировать в надлежащем виде прогноз, нужно применить следующую формулу: ItogP=ItogP + P, ItogF=ItogF+ F. Для просчета отклонений требуется использовать (ItogF – ItogP) / ItogP * 100. Как только все действия будут выполнены, значения вносятся в ячейки, а значит присваивать переменные нет необходимости.
Чтобы осуществить запуск, в первую очередь требуется сохранить созданную книгу. Также стоит обращать внимание и на другие условия. Так, например, добавлять строки придется каждый раз после введения новых обозначений в таблице.
Если требуется создать таблицу для отчетности, то по данной функции достаточно кликнуть все раз. Как только работа подойдет к завершению, нужно нажать на закончить, а затем переключиться в соответствующее окно программы Excel.
Заключение
Выше были изучены все аспекты, каким образом можно использовать макросы, для чего нужен VBA в Excel и каким образом его применять. Стоит отметить, что благодаря простым инструкциям, научиться этим действиям сможет любой начинающий пользователь, который ранее не имел возможность изучать Visual Basic. Подобные возможности помогают в организации финансовой отчетности и проведения математических функций.
Богдан Вязовский
«Мы живем в обществе, где технологии являются очень важной частью бизнеса, нашей повседневной жизни. И все технологии начинаются с искр в чьей-то голове. Идея чего-то, чего раньше не существовало, но однажды будет изобретено, может изменить все. И эта деятельность, как правило, не очень хорошо поддерживается»
Источник: geek-nose.com
Программирование в Excel
VBA (Visual Basic для приложений) это язык программирования Microsoft Excel. Это платформа, которую мы используем в excel для программирования вещей или задач нашей повседневной работы. У нас есть набор слов для описания наших потребностей, и нам нужно выучить эти слова, чтобы писать программы в Excel.
VBA — это платформа, которую мы используем для написания программы, а строка, которую мы пишем как код, называется макросом. Макрос — это просто фрагмент кода, который инструктирует Excel, что делать.
Сначала включить вкладку разработчика
Доступ к программированию на VBA можно получить, включив вкладку РАЗРАБОТЧИК в Excel. По умолчанию в MS Excel он отключен; нам нужно включить его. Ниже приведен скриншот того же. Если вкладка «Разработчик» вам не видна, выполните следующие действия, чтобы включить ее в вашей системе. Шаг 1: Перейти в ФАЙЛ.
Шаг 2: В разделе ФАЙЛ перейдите к ОПЦИИ. Шаг 3: Вы увидите все окно «Параметры Excel». Выберите Настроить ленту в Excel.
Шаг 4: Установите флажок РАЗРАБОТЧИК, чтобы включить его. Щелкните ОК.
Шаг 5: Вы будете теперь иметь возможность видеть то Вкладка разработчика.
Как записывать макросы в Excel?
Лучший способ начать программирование в Excel — это записать макрос. Это как наш магнитофон или видеомагнитофон. Он записывает все действия, которые мы делаем, в электронную таблицу, пока мы не нажмем кнопку остановки записи. Хорошо, давайте сейчас приступим к процессу записи.
Вы можете скачать этот шаблон Excel для программирования здесь — Шаблон для программирования Excel Выполните следующие шаги, чтобы узнать, как записывать макросы в Excel. Шаг 1: На вкладке «Разработчик» нажмите «Записать макрос». Шаг 2: Назовите макрос. После того, как мы нажмем «Запись макроса», мы увидим внизу окно, в котором нас просят дать имя макросу. Называя макрос, мы должны соблюдать определенные правила и условия, которые приведены ниже.
- Имя макроса не должно содержать пробелов.
- Имя макроса не должно начинаться с числового значения.
- Имя макроса не должно содержать никаких специальных символов, кроме подчеркивания.
Шаг 3: Назовите окно макроса
Нам нужно дать собственное имя окну макроса. В окне ниже я дал имя «Recording_Macro». Как мы видим, здесь нет специального символа или пробела.
Шаг 4: Щелкните ОК, чтобы начать запись.
Шаг 5: Выполните действия, которые должны быть записаны в макрос.
В тот момент, когда мы нажимаем ОК, начинается запись того, что мы делаем в Excel.
Первое, что я сделаю в Excel, это выделю ячейку A1. Это первое действие на этом листе.
После выбора ячейки наберу «Добро пожаловать в VBA» в этой камере. Это второе действие в Excel.
Когда я закончу печатать, мне нужно нажать клавишу ввода, чтобы прекратить печатать, поэтому я нажимаю клавишу ввода. В тот момент, когда я нажму клавишу ввода, выбор переключится с ячейки A1 на ячейку A2. Это третье действие в Excel.
Шаг 6: Нажмите на Остановить запись на вкладке Разработчик, чтобы остановить запись макроса.
После этих трех действий я выберу опцию остановки записи на вкладке разработчика.
В тот момент, когда мы нажимаем «Остановить запись», он перестает записывать действия, которые мы делаем в Excel.
Теперь нам нужно пройти через то, что было записано, чтобы понять, как именно программирование работает с Excel. Чтобы увидеть этот код на вкладке «Разработчик», нажмите «Visual Basic» или нажмите комбинацию клавиш «ALT + F11».
Сочетание клавиш Excel для нажатия «Visual Basic».
После нажатия «Visual Basic» или сочетания клавиш, мы можем увидеть окно под окном.
Дважды щелкните модули.
Теперь все записи, которые мы сделали до сих пор, появятся справа.
Как видим, первое слово — «SUB. » Все имена макросов начинаются с «Sub», «Function», «Private» или «Public».
Каждый макрос состоит из двух частей; один — «Голова», а второй — «Хвост». Голова — это имя макроса, а хвост — это конец макроса.
Между этим заголовком и концом макроса excel VBA записал все действия, которые мы сделали. Теперь давайте посмотрим на код построчно.
Просто запомните, каким было наше первое действие после того, как мы начали запись макроса, то есть мы выбрали ячейку A1, поэтому для этого в коде программирования VBA используется диапазон («A1»). Выбрать
После выбора ячейки A11 мы вошли в тест как «Добро пожаловать в VBA», поэтому в коде программирования VBA
ActiveCell.FormulaR1C1 = “Welcome to VBA”
Заметка: R1C1 — это строка 1, столбец 1.
Последним действием было то, что мы нажали клавишу ввода, чтобы выйти из ячейки A1, поэтому она переместилась из ячейки A1 в A2, и код
Range (“A2”). Select
Вот как «макрос записи» записывает все действия с момента начала записи до момента нажатия кнопки «Остановить запись».
Теперь этот код можно выполнить в любое время; он повторяет одно и то же действие снова и снова. Теперь удалите слово.
«Добро пожаловать в VBA» в ячейке A1.
После удаления слова перейдите в Visual Basic. Поместите курсор внутри кода и нажмите кнопку RUN. Теперь мы снова получаем текст «Добро пожаловать в VBA» в ячейке A1.
Заметка: Сочетание клавиш для запуска кода — F5.
Таким образом, используя кодировку VBA, мы можем автоматизировать нашу повседневную рутинную работу, чтобы сэкономить много времени и избавиться от скучных задач каждый день.
Специальный вариант сохранения для книги макросов
Весь код макросов, содержащийся в книгах, должен быть сохранен в специальных версиях. При сохранении книги нам нужно выбрать «Сохранить как тип» в качестве «Книги Excel с поддержкой макросов».
То, что нужно запомнить
Источник: voxt.ru
Редактор Visual Basic в Excel
В этой главе даётся очень краткий обзор редактора Visual Basic в Excel. Если Вы любознательный читатель и хотите узнать еще больше информации о редакторе, то при желании без проблем найдете ресурсы с более подробным описанием.
Запуск редактора Visual Basic
Простейший способ запустить редактор Visual Basic в Excel – нажать комбинацию клавиш Alt+F11 (то есть нажать клавишу Alt и, удерживая её, нажать клавишу F11). После этого откроется окно редактора Visual Basic, как показано на картинке ниже. Имейте ввиду, что окно Excel остается открытым и находится позади окна редактора.
Окна редактора Visual Basic
В процессе работы в редакторе Visual Basic в Excel могут быть открыты различные окна. Управление окнами осуществляется в меню View, которое находится в верхней части окна редактора VBA. Ниже дано описание отдельных окон.
Окно проекта (Project)
Окно Project открывается в левой части редактора VBA (показано на картинке выше). В этом окне для каждой открытой рабочей книги создаётся проект VBA (VBA Project). Проект VBA – это набор всех объектов и модулей VBA, привязанных к текущей книге. Изначально в него входят:
- Объект ЭтаКнига (ThisWorkbook), привязанный к книге Excel;
- Объекты Лист (Sheet), привязанные к каждому листу текущей рабочей книги Excel.
Вот как можно создать новый объект Userform, Module или Class Module:
- В окне Project выберите рабочую книгу, в которую нужно добавить объект, и кликните по ней правой кнопкой мыши.
- В появившемся меню кликните Insert и в раскрывшемся меню выберите Userform, Module или Class Module.
Для каждого из описанных выше объектов предусмотрено специальное окно, в котором будет создаваться и храниться новый код VBA. Порядок при этом такой:
- Код, который относится к рабочей книге, должен быть введён в соответствующий объект ЭтаКнига (ThisWorkbook);
- Код, который относится к рабочему листу, должен быть введён в соответствующий объект Лист (Sheet);
- Код более общего характера должен быть введён в Module;
- Код для нового объекта должен быть введён в Class Module;
- Если нужно создать диалоговое окно для взаимодействия с пользователем, то можно использовать Userform.
Окно кода (Code)
Двойной щелчок мышью по любому объекту в окне Project открывает соответствующее окно Code, предназначенное для ввода кода VBA с клавиатуры. На одном из приведённых выше рисунков показано окно кода для Module1.
По мере ввода кода VBA в окно Code, редактор Visual Basic следит за правильностью ввода, ищет ошибки в коде и выделяет код, который требует исправления.
Окно свойств (Properties)
В окне Properties перечислены свойства объекта, который в момент создания (не в процессе выполнения программы) выделен в окне проекта. Эти свойства могут быть различными в зависимости от типа выделенного объекта (лист, книга, модуль и другие).
Окно отладчика (Immediate)
Окно Immediate можно отобразить в редакторе Visual Basic через меню View > Immediate Window или нажатием комбинации клавиш Ctrl+G. Это окно помогает при отладке кода. Оно выполняет роль области вывода для отладки выражений и позволяет вычислять отдельные выражения или выполнять строки кода по одной.
Например, введите выражение «?j» и нажмите Enter – в результате будет выведено текущее значение переменной j.
Окно переменных (Locals)
Чтобы открыть окно Locals, нажмите Locals Window в меню View редактора Visual Basic. В этом окне отображаются все переменные, объявленные в текущей процедуре. Окно делится на столбцы, в которых содержатся имя, значение и тип каждой переменной, и эта информация обновляется автоматически в ходе выполнения программы. Окно Locals очень полезно при отладке кода VBA.
Окно отслеживания (Watches)
Окно Watches также очень помогает при отладке кода VBA, так как в нём можно увидеть значение, тип и контекст любого отслеживаемого выражения, которое задаст пользователь. Чтобы открыть окно Watches, нажмите Watch Window в меню View редактора Visual Basic. Также окно Watches будет открыто автоматически, если задать отслеживаемое выражение.
Чтобы задать отслеживаемое выражение, нужно:
- Выделить выражение в редактируемом коде VBA.
- В меню Debug редактора VBA нажать Quick Watch.
- Нажать Add.
Кроме рассмотренных, в меню редактора Visual Basic в Excel существует ещё множество параметров и команд, используемых при создании, выполнении и отладке кода VBA.
Источник: office-guru.ru
ITGuides.ru
Вопросы и ответы в сфере it технологий и настройке ПК
Краткий обзор по программированию в Excel с помощью VBA
Для упрощения сбора информации, автоматизации ввода и вывода данных и многого другого используется программирование в excel.
Видео по написанию (программированию) макросов на VBA в Excel
VBA (Visual Basic for Applications) — разновидность языка программирования Visual Basic, входящая в пакет Microsoft excel
Программирование в excel ускоряет выполнение разнообразных задач на компьютере.
При написании кодов в excel программист использует:
- Для написания кода существует два основных способа: писать внутри листа; внутри книги. Любая программа в рабочей среде excel начинается с ключевого слова «SUB», далее идет любое название с использованием букв или цифр, после чего открываем и закрываем скобки () и нажимаем «ENTER», образуется рабочая среда для написания программы. В рабочей среде набираем Аpplication, указываем ThisWorkBooks — эта книга, далее Sheet — листы, далее Cells(5,1) — номер ячейки, сначала пишется строка потом колонка. Программирование будет иметь такой вид: Аpplication — ThisWorkBooks — Sheets — Сells(5,1). Присваиваем этому адресу значение 10 через ключевой оператор присваивания «=» и запускаем программу на исполнение нажатием на кнопку «RunSub» или клавишей «F5». Присвоенное значение 10 окажется в указанном месте.
В Excel есть собственная встроенная среда для разработки, вызвать которую можно комбинацией горячих клавиш Ctrl+F11
При работе с данным объектом в excel используется «среда разработки». «Среда разработки» вызывается сочетанием клавиш Сtrl+F11, после чего необходимо выбрать вкладку «View», далее «Обозреватель проекта», на котором будет отображено три элемента, два листа рабочей книги и сама книга excel.
DOM — Document object model (объектная модель документа) — независимый программный интерфейс, дающий возможность скриптам и программам находить доступ к содержимому XML, XHTML и HTML документов и менять оформление и структуру данных документов. DOM не ограничивает структуру документа, а представляет его в виде дерева узлов, любой из которых является элементом, атрибутом, графическим или текстовым объектом.
- «Работа с переменными» — это слова или буквы, которые содержат в себе какое-то значение, например: Х=5, Y=10, с ними можно производить любые математические операции. Допустим, чтобы найти сумму данных значений с помощью программирования, в рабочей среде вводим следующую программу: Cells(2,1) = X+Y нажимаем «RunSub» или «F5» во 2 строке, 1 столбца отобразится 15 — сумма программируемых значений. Помимо чисел в значениях могут содержаться слова, единственное отличие, что программируемые слова должны браться в кавычки.
Программирование в Microsoft Office Excel удобно в освоении и может использоваться обычными пользователями. Разработка макрокоманд (макросов) в VBA автоматизирует рабочий процесс увеличивая его производительность.
Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:
Источник: itguides.ru