Web-studio46.ru

Обучение и образование
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba язык программирования

VBA-Урок 1. Что такое VBA. Основные понятия.

В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.

Что такое VBA?

VBA — язык (расшифровывается как Visual Basic for Application) был разработан компанией Microsoft. Данный язык не является самостоятельным, а предназначен для автоматизации процессов в пакете MS Office. VBA широко используется в Excel, а также в Access, Word и других программах пакета.

VBA — простой язык программирования, которому может научиться любой желающий. Изучив его, вы сможет предоставлять команды Excel, что делать с колонками, строками, значениями в ячейках, перемещать/добавлять/сортировать листы, выводить заранее запрограммированные сообщения, писать свои формулы и функции и т.д. Суть языка заключается в оперировании объектами (что относит его к объектно-ориентированному программированию).

Чтобы работать с VBA кодом, нам нужен редактор, который уже установлен по умолчанию. Вы можете открыть его, нажав комбинацию клавиш » ALT + F11 «.

Объекты (Objects)

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

Главный объект это Application, что соответствует самой программе Excel. Далее следует Workbooks (книга), Worksheets (лист), Range (диапазон, или отдельная ячейка). Например, чтобы обратиться к ячейке «A1» на листе нам нужно будет прописать следующий путь с учетом иерархии:

Application.Workbooks(«Архив»).Worksheets(«Аркуш1»).Range(«A1»).

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

Коллекции (Collections)

В свою очередь объекты имеют «коллекции». Коллекция — это группа объектов одинакового класса. Отдельные элеметы коллекции являются также объектами. Так, объекты Worksheets являются элементами коллекции объекта Worksheet, который содержит также и другие коллекции и объекты:

  • ChartObjects (элемент коллекции объекта ChartObject)
  • Range
  • PageSetup
  • PivotTables (элемент коллекции объекта PivotTable).

Свойства (Properties)

Каждый объект имеет свойства . Например, объект Range имеет свойство Value или Formula.

Worksheets(“Sheet1”).Range(“A1”).Value або Worksheets(“Sheet1”).Range(“A1”).Formula

В данном примере, свойство отображает значение, которое введено в ячейку или введенную формулу.

Также, через свойство Formula можно не только получить формулу, но и записать ее:

MsgBox Range(“A1”).Formula — получим сообщение с формулой в ячейке «А1«;

Range(“B12”).Formula = “=2+6*100” — вписываем формулу =2+6*100 в ячейку B12.

Методи (Methods)

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

Range(«A1»).Select или Cells(1, 1).Select

Данный метод указывает выбрать (Select) ячейку «A1».
Далее, давайте, удалим значение в данной ячейке. Для этого напишем следующий код:

Selection.ClearContents

Здесь программа «берет» то, что мы выделили (Selection) и удаляет его содержимое (ClearContents ).

VBA Excel. Начинаем программировать с нуля

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

Знакомство с редактором VBA

  1. Создайте новую книгу Excel и сохраните ее как книгу с поддержкой макросов с расширением .xlsm. В старых версиях Excel по 2003 год – как обычную книгу с расширением .xls.
  2. Нажмите сочетание клавиш «левая_клавиша_Alt+F11», которое откроет редактор VBA. С правой клавишей Alt такой фокус не пройдет. Также, в редактор VBA можно перейти по ссылке «Visual Basic» из панели инструментов «Разработчик» на ленте быстрого доступа. Если вкладки «Разработчик» на ленте нет, ее следует добавить в настройках параметров Excel.

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

  1. Нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку после значка Excel на панели инструментов.

После нажатия кнопки «Module» вы увидите ссылку на него, появившуюся в проводнике слева.

Первая программа на VBA Excel

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

  1. Откройте стандартный модуль двойным кликом по его ссылке в проводнике. Поместите в него курсор и нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.

В результате откроется окно добавления шаблона процедуры (Sub).

  1. Наберите в поле «Name» имя процедуры: «Primer1», или скопируйте его отсюда и вставьте в поле «Name». Нажмите кнопку «OK», чтобы добавить в модуль первую и последнюю строки процедуры.

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

  1. Вставьте внутрь шаблона процедуры следующую строку: MsgBox «Привет» .

Функция MsgBox выводит информационное сообщение с указанным текстом. В нашем примере – это «Привет».

  1. Проверьте, что курсор находится внутри процедуры, и запустите ее, нажав клавишу «F5». А также, запустить процедуру на выполнение можно, нажав на треугольник (на изображении под пунктом меню «Debug») или на кнопку «Run Sub/UserForm» во вкладке «Run» главного меню редактора VBA Excel.


Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!

Работа с переменными

Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «’» (апостроф).

Пример 2
Присвоение переменным числовых значений:

Хочу всё знать. Язык Visual Basic

В 80-е годы популярность BASIC пошла на спад. Новые языки программирования избавились от сложного синтаксиса, при этом их возможности возросли. И только Microsoft продолжал гнуть свою линию, выпустив сначала еще один бестселлер QBasic, а потом и героя сегодняшнего текста — Visual Basic.

Краткая справка

Первые версии Visual Basic не снискали успеха среди разработчиков. Графический интерфейс, а потом и подсветка синтаксиса являлись едва ли не единственным отличием от QBasic. Microsoft начала вносить значительные перемены лишь с версии 3.0. В комплектации Professional разработчики получили возможность работать с базой данных Access, графические возможности позволяли работать с языком даже не программистам. Кроме того, повысилось быстродействие и упростилась установка ПО.

В 1995 году свет увидел Windows 95, вместе с которым захватывать мировое господство отправился Visual Basic 4.0. Здесь появился полноценный компилятор, возможность создавать 32 и 16-разрядные приложения, увеличилась скорость работы. В 1998 году вышла последняя версия традиционного Visual Basic. Далее компания Microsoft изменила концепцию, пустив развитие языка по двум направлениям: VB на платформе .NET и адаптированные версии для решения локальных задач (VBA, VBScript, eVB).

Visual Basic в наши дни

VB — инструмент для быстрого создания Windows-приложений. После смены концепции язык обрел:

  • поддержку ООП с конструкторами, деструкторами и наследованием;
  • свободную многопоточность;
  • компиляцию в байт-код, исполняемую при помощи CLR;
  • структурную обработку исключений;

Но главное удобство — платформа .NET. Это означает, что теперь разработчики имеют доступ к огромному количеству библиотек платформы для работы с БД, графикой, формами, безопасностью и вебом.

Другим популярным наследником является Visual Basic for Applications (VBA). Это урезанный VB 6.0 для обработки макросов, создания скриптов, который упрощает работу внутри ОС.

В AutoCAD, CorelDraw, SolidWorks и, конечно же, Microsoft Office вы можете экспортировать данные, структурировать информацию, подключать БД. Даже на бытовом уровне вам пригодится умение создавать автозаполняемые формы, вытягивать информацию в один клик из Excel. В работе, не обязательно связанной с программированием, VBA упростит создание технических документов, чертежей и планов.

Литература

Обучение языку лучше начинать с VBA. Во-первых, он проще, во-вторых, целевые продукты вам прекрасно известны, в-третьих, ограничения позволят вам сконцентрироваться на языке. Считается, что для изучения VBA вам понадобится 30 часов. Фактически — не более 15. Можете взять за основу одну из следующих книг:

Программировать на Visual Basic .NET сложнее, но и интереснее. Времени и справочных ресурсов потребуется больше:

На годы обращать внимания не стоит, здесь важнее практические навыки.

Заключение

Современный Visual Basic слабо напоминает язык, изобретенный более 50 лет назад. Он сохранил простоту, но оброс большим количеством функций и возможностей. А так как Microsoft продолжает работать над платформой .NET, то на ближайшие лет 10 он останется полезным инструментом для любого программиста.

В 1964 году на свет появился язык BASIC. Он разрабатывался для учебных целей, чтобы студенты вузов с помощью простых алгоритмов изучать программирование. BASIC стал настоящим прорывом в образовании, а в реальной жизни программисты соревновались в создании диалектов. Среди очарованных языком гиков оказался Билл Гейтс. В 13 лет он написал на нем свою первую программу, в 20 — зарабатывал деньги реализацией версии Altair BASIC, разработанной им совместно с Полом Алленом.

В 80-е годы популярность BASIC пошла на спад. Новые языки программирования избавились от сложного синтаксиса, при этом их возможности возросли. И только Microsoft продолжал гнуть свою линию, выпустив сначала еще один бестселлер QBasic, а потом и героя сегодняшнего текста — Visual Basic.

Краткая справка

Первые версии Visual Basic не снискали успеха среди разработчиков. Графический интерфейс, а потом и подсветка синтаксиса являлись едва ли не единственным отличием от QBasic. Microsoft начала вносить значительные перемены лишь с версии 3.0. В комплектации Professional разработчики получили возможность работать с базой данных Access, графические возможности позволяли работать с языком даже не программистам. Кроме того, повысилось быстродействие и упростилась установка ПО.

В 1995 году свет увидел Windows 95, вместе с которым захватывать мировое господство отправился Visual Basic 4.0. Здесь появился полноценный компилятор, возможность создавать 32 и 16-разрядные приложения, увеличилась скорость работы. В 1998 году вышла последняя версия традиционного Visual Basic. Далее компания Microsoft изменила концепцию, пустив развитие языка по двум направлениям: VB на платформе .NET и адаптированные версии для решения локальных задач (VBA, VBScript, eVB).

Visual Basic в наши дни

VB — инструмент для быстрого создания Windows-приложений. После смены концепции язык обрел:

  • поддержку ООП с конструкторами, деструкторами и наследованием;
  • свободную многопоточность;
  • компиляцию в байт-код, исполняемую при помощи CLR;
  • структурную обработку исключений;

Но главное удобство — платформа .NET. Это означает, что теперь разработчики имеют доступ к огромному количеству библиотек платформы для работы с БД, графикой, формами, безопасностью и вебом.

Другим популярным наследником является Visual Basic for Applications (VBA). Это урезанный VB 6.0 для обработки макросов, создания скриптов, который упрощает работу внутри ОС.

В AutoCAD, CorelDraw, SolidWorks и, конечно же, Microsoft Office вы можете экспортировать данные, структурировать информацию, подключать БД. Даже на бытовом уровне вам пригодится умение создавать автозаполняемые формы, вытягивать информацию в один клик из Excel. В работе, не обязательно связанной с программированием, VBA упростит создание технических документов, чертежей и планов.

Литература

Обучение языку лучше начинать с VBA. Во-первых, он проще, во-вторых, целевые продукты вам прекрасно известны, в-третьих, ограничения позволят вам сконцентрироваться на языке. Считается, что для изучения VBA вам понадобится 30 часов. Фактически — не более 15. Можете взять за основу одну из следующих книг:

Программировать на Visual Basic .NET сложнее, но и интереснее. Времени и справочных ресурсов потребуется больше:

На годы обращать внимания не стоит, здесь важнее практические навыки.

Заключение

Современный Visual Basic слабо напоминает язык, изобретенный более 50 лет назад. Он сохранил простоту, но оброс большим количеством функций и возможностей. А так как Microsoft продолжает работать над платформой .NET, то на ближайшие лет 10 он останется полезным инструментом для любого программиста.

Vba язык программирования

������� ���������� ��������� �� ����� VBA – �������, ����� �������� �� ���������� ������, � ����������� �� ��������� ����������. ���� ���������� �������� ���������, ������� ����� ����������� ������������ ���������� ��� ��������, ����������� �������������� ����������� ������������ ���������� Microsoft Office, �� ���������� ������� ����������� ������. ��� ���������� ���� ��������� ����� ��������� � ������� ������� ���������� ������, ������� ������� ����� �������� ���������� ���������. ��� ����� � ���������� ���������� �������� ������ ������������ � ������� ������� ��� ������ ������������ �������� ����������, � ����� ������� ������ � ��������������� ����������� �����. ���� ��������� ��������� � ������� ������� ������ ������ �������.

���������� “�����������” ��������� (��� ���������� ������� ��������� ��������� ����, � ���������� ���������� ����������) ����� �������� ��� �����. ������ ���� – ���� ����������� ����������������, �� ������� ��������� ���� (�����) ���������, ��� ������������� ����������� �������� ����������. ������ – ���� ����������������, �� ������� ��������� ����� ��������� (���������), ������������� � ����� �� ������������ �������. �������� ��������, ��������, ������ ����� ������� ���� �� ��������� ������ (������� Click), ������� ������� �� ���������� (������� KeyPress) � �.�. ������������ ����� ���������� ����� �������� ������ – «������ �������».

Range(“�����”)

Cells(i, j)

Rows(� ������)

Columns(� �������)

Sheets(“���”)

Sheets(� �����)

WorkSheet

Range(“A5:A10”). Value = 0 ��� Range(“A5:A10”) = 0 – � �������� ����� A5:A10 ��������� �������� 0.

Cells(2, 4). Value = n ��� Cells(2, 4) = n – � ������, ����������� �� ����������� 2-� ������ � 4-�� ������� (������ � ������� “D2”), ��������� �������� ���������� n.

Xn = Cells(1, 2).Value ��� Xn = Range(“B1”).Value – ���������� Xn ������������� �������� �� ������ B1 �������� �������� �����.

Sheets(2).Activate ������� �������� ���� � �2.

Sheets(“���������”).Delete ������� ���� � ������ “���������”.

Range(«A5:A10»).Clear – �������� �������� ����� A5:A10.

Range(«A2:B10»).Select – �������� �������� ����� A2:B10.

Application.Quit — ���������� ������ � Excel.

Читать еще:  Программирование в экселе
Ссылка на основную публикацию
Adblock
detector