Tw-city.info

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

Программирование в visual basic for applications

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 for applications

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

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

Читать еще:  Net сетевое программирование

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.

ПРОГРАММИРОВАНИЕ В VISUAL BASIC FOR APPLICATIONS

ЦЕЛЬ ТРЕНИНГА

Научиться эффективно применять Visual Basic for Applications в Microsoft Excel для выполнения задач

КРАТКОЕ ОПИСАНИЕ

В ходе тренинга будут освоены навыки программирования в Visual Basic for Applications, необходимые для самостоятельного написания кода с нуля, отладки кода, анализа чужого кода, а также приобретены навыки и знания по ориентированию в редакторе Visual Basic Editor, понимание объектной модели Excel «изнутри»

ПРЕИМУЩЕСТВА ТРЕНИНГА

• Разработка и создание в ходе проведения тренинга файлов Microsoft Excel, используемых участниками для решения своих рабочих задач;
• Учет специфики работы и корпоративной культуры Заказчика;
• Обеспечение консультационной поддержки участников тренинга после его проведения.

РЕЗУЛЬТАТ

Сокращение времени, затрачиваемого на выполнение различных задач в Microsoft Excel, повышение качества и эффективности работы

ПРОДОЛЖИТЕЛЬНОСТЬ ТРЕНИНГА: 24 академических часа

ПРОГРАММА ТРЕНИНГА

Модуль 1. Введение

• Необходимые основы и теоретические знания, которые надо знать, чтобы начать программировать на Visual Basic for Applications (VBA) в Microsoft Excel.
• Основные понятия и термины, чтобы говорить на одном языке.
• Плюсы и минусы использования макросов, когда они могут быть вам полезны, а когда лучше воспользоваться иными возможностями Excel.
• Способы создания макросов (макрорекордер, самостоятельное написание кода, копирование и адаптация фрагментов чужого кода и т.д.)

Модуль 2. Редактор VBE

• Этот модуль посвящен подробному разбору основного инструмента программиста на VBA в Microsoft Excel — среды программирования и редактора кода Visual Basic Editor (VBE).
• Основные элементы окна VBE — их назначение, использование, горячие клавиши и приемы ускорения работы
• Структура проекта VBA Project — как устроена книга Excel с точки зрения программирования, где и как может храниться код VBA, в чем различия и особенности использования модулей разного типа, что такое формы и т.д.
• Процедуры (Sub) и функции (Function) – что из себя представляет каждый тип и в чем их различия и особенности.

Модуль 3. Объектная модель Microsoft Excel

• Рассматривается набор объектов (листов, ячеек, диаграмм и т.д.) со своими свойствами и специфическими методами и событиями. Знание и понимание этих свойств и взаимодействия объектов позволяет легко манипулировать любыми встроенными инструментами в Excel, привлекая их для решения задач. Этот модуль даст понимание устройства общей объектной структуры Excel, принципов и подходов для работы с ней, свойств ключевых объектов книги.
• Теоретический минимум (иерархия объектов, коллекции, свойства, методы и события)
• Получение справки по объектам
• Сокращенное обращение к объекту (для упрощения и упорядочивания ссылок на объекты)
• Подробный разбор свойств и методов объектов Workbook и Worksheet

Модуль 4. Синтаксис языка VBA

• В этом модуле на живых примерах разберем все основные программные конструкции и синтаксические особенности языка VBA, нюансы их использования в реальных задачах и проектах.
• Объявление переменных и констант (правила выбора имен для переменных, типы данных, области видимости переменных).
• Обзор способов организации взаимодействия с пользователем (MsgBox, InputBox, Application.InputBox, Debug.Print и т.д.)
• Математические и текстовые операторы для обработки данных
• Способы проверки условий (конструкции if. then, select case и т.д.), операторы сравнения.
• Способы организации циклов (различные виды безусловных циклов for. next, циклы по условию do. loop и т.д.)
• Обработка ошибок: завершение кода при возникновении ошибки; переход в определенное место в коде; сброс ошибок. Почему стоит избегать переходов при ошибках.

Читать еще:  Создать игру без программирования

Модуль 5. Работа с диапазонами

• Безусловно, почти любой макрос создается для взаимодействия с отдельными ячейками и диапазонами листа Excel. В этом модуле подробно рассматриваются все свойства и методы объекта Range и работа с ним на практических задачах из реальной жизни.
• Свойство Selection, обработка выделенных областей на листе
• Объект Range, его свойства, методы и события. Выполнение различных операций над диапазонами
• Коллекция Cells, варианты и особенности ее использования в коде

Модуль 6. Обработка событий

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

Модуль 7. Пользовательские формы

• Для многих программ часто необходимо взаимодействие с пользователем: запрос данных, отображение, визуализация. Все это не сделать при помощи одних Msgbox и InputBox, поэтому нельзя представить более-менее объемную программу на VBA без пользовательских форм — UserForms. Данный модуль поможет научиться создавать пользовательские формы и применять их в проекте.
• Добавление формы в проект
• Использование элементов управления: кнопка, надпись, текстовое поле, выпадающий список
• Обработка событий элементов управления

Модуль 8. Варианты запуска процедур. Защита проекта VBA

• Создание кнопок на листе для запуска процедур
• Создание своей панели на ленте с кнопками для запуска процедур. Использование событий для создания кнопок на панели при открытии книги.
• Защита проекта VBA.

Модуль 9. Функции API

• Краткое введение в понятие функций API
• Когда имеет смысл применять данные функции, а когда лучше воздержаться.
• Объявление функций API, особенности объявления в различных версиях OS Windows.

Скачать программу тренинга:

ПРОГРАММИРОВАНИЕ В VBA (480,7 KiB, 5 851 скачиваний)

ОРГАНИЗАЦИЯ ТРЕНИНГА

Для проведения тренинга на вашей территории необходимо:

• подходящее помещение(достаточное для комфортного размещения всех участников тренинга);
• проектор и экран(или что-то, что может данный экран заменить);
• компьютеры для каждого участника с установленным на них Microsoft Office Excel 2007 или старше(2003 так же подойдет, но желательно все же 2007 или старше).

Если у вас нет подходящего помещения, то тренинг может быть проведен на нашей территории, где уже есть все необходимое.

ЧТО ОСТАНЕТСЯ ПОСЛЕ ТРЕНИНГА (кроме новых знаний)

  • методическое пособие с описанием пошаговых действий всех основных тем тренинга
  • все файлы примеров, используемые на тренинге: пустые, чтобы можно было еще потренироваться и заполненные, чтобы можно было вспомнить как именно выглядит решение
  • несколько удобных файлов-шпаргалок по работе в Excel
  • набор надстроек и программ для работы в Excel, включая полную версию многофункциональной надстройки MulTEx Lite, добавляющей более 60 новых функций в Excel:
  • красивый сертификат

Заинтересовались? Для получения более подробной информации об условиях проведения тренинга пишите на info@excel-vba.ru

Программирование в visual basic for applications

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

Читать еще:  C al программирование

���������� “�����������” ��������� (��� ���������� ������� ��������� ��������� ����, � ���������� ���������� ����������) ����� �������� ��� �����. ������ ���� – ���� ����������� ����������������, �� ������� ��������� ���� (�����) ���������, ��� ������������� ����������� �������� ����������. ������ – ���� ����������������, �� ������� ��������� ����� ��������� (���������), ������������� � ����� �� ������������ �������. �������� ��������, ��������, ������ ����� ������� ���� �� ��������� ������ (������� 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.

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 ).

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector