No history yet

Введение в VBA

Что такое VBA?

Visual Basic for Applications (VBA) — это язык программирования, встроенный в Microsoft Excel и другие приложения Office. Он позволяет автоматизировать повторяющиеся задачи, создавать собственные функции и превращать простые таблицы в мощные интерактивные инструменты. Если вы постоянно выполняете одни и те же действия в Excel, например, форматируете отчеты или копируете данные между листами, VBA может делать это за вас.

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

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

Открытие редактора VBA

Чтобы начать писать код на VBA, вам нужен специальный инструмент — редактор Visual Basic (Visual Basic Editor, или VBE). По умолчанию он скрыт. Сначала нужно включить вкладку «Разработчик» в ленте Excel.

  1. Перейдите в Файл > Параметры.
  2. В открывшемся окне выберите Настроить ленту.
  3. В правом списке основных вкладок поставьте галочку напротив пункта Разработчик и нажмите ОК.

Теперь на ленте Excel появится новая вкладка. Перейдите на неё и нажмите кнопку Visual Basic в левой части. Также можно использовать горячие клавиши Alt + F11 для быстрого открытия и закрытия редактора.

Lesson image

Окно редактора — это ваша рабочая среда. Здесь вы будете писать, редактировать и отлаживать свой код. Поначалу оно может показаться сложным, но скоро вы освоите его основные компоненты.

Основные окна, с которыми вы будете работать:

  • Окно проекта (Project Explorer): Отображает все открытые книги Excel и их компоненты, такие как листы и модули с кодом.
  • Окно кода (Code Window): Здесь вы пишете и редактируете свой VBA-код.
  • Окно свойств (Properties Window): Показывает свойства выбранного объекта, например, имя листа или модуля.

Ваш первый макрос

Макрос — это просто набор инструкций. Чтобы его создать, нужно место для хранения кода. В VBA для этого используются модули.

В окне проекта кликните правой кнопкой мыши по вашему проекту (обычно он называется VBAProject (Имя_книги.xlsx)) и выберите Insert > Module. В окне кода появится пустая страница. Теперь можно писать.

Sub SayHello()
    ' Этот макрос выводит простое сообщение
    MsgBox "Привет, мир!"
End Sub

Давайте разберем этот код:

  • Sub SayHello(): Sub — это сокращение от «subroutine» (подпрограмма). Так начинается любой макрос. SayHello — это имя, которое мы ему дали. Скобки в конце обязательны.
  • ' Этот макрос...: Строки, начинающиеся с апострофа ('), являются комментариями. Excel их игнорирует. Комментарии помогают вам и другим людям понять, что делает код.
  • MsgBox "Привет, мир!": MsgBox — это встроенная функция VBA, которая выводит на экран окно с сообщением. Текст сообщения указывается в кавычках.
  • End Sub: Эта строка завершает подпрограмму.

Чтобы запустить макрос, поставьте курсор в любое место внутри кода и нажмите клавишу F5. Вы должны увидеть на экране всплывающее окно с текстом «Привет, мир!».

Переменные и типы данных

Чтобы макросы были полезными, им нужно уметь работать с информацией: числами, текстом, датами. Для временного хранения этих данных в коде используются переменные. Представьте переменную как подписанную коробку, в которую можно что-то положить.

Переменная — это именованная область в памяти компьютера для хранения данных.

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

Например, чтобы создать переменную для хранения имени, мы напишем: Dim userName As String

Здесь Dim объявляет переменную, userName — её имя, а String — это тип данных для хранения текста.

Тип данныхОписаниеПример
StringТекстовые данные"Иван Петров"
IntegerЦелые числа (от -32,768 до 32,767)100
LongБольшие целые числа500000
DoubleЧисла с десятичной частью19.99
BooleanЛогическое значениеTrue или False
DateДата и время#10/23/2024#

Операторы в VBA

Операторы — это символы, которые выполняют действия над переменными и значениями. Они делятся на несколько категорий.

Оператор

noun

Символ или ключевое слово, которое представляет действие, такое как сложение или сравнение.

Арифметические операторы используются для математических вычислений.

  • + (Сложение)
  • - (Вычитание)
  • * (Умножение)
  • / (Деление)

Операторы сравнения сравнивают два значения и возвращают True (истина) или False (ложь).

  • = (Равно)
  • <> (Не равно)
  • > (Больше чем)
  • < (Меньше чем)

Оператор конкатенации используется для объединения строк.

  • & (Амперсанд)

Посмотрим на них в действии.

Sub OperatorExample()
    Dim x As Integer
    Dim y As Integer
    x = 10
    y = 5

    ' Арифметический оператор
    MsgBox x + y ' Выведет 15

    ' Оператор сравнения
    MsgBox x > y ' Выведет True

    ' Оператор конкатенации
    Dim greeting As String
    Dim name As String
    greeting = "Привет, "
    name = "Анна"
    MsgBox greeting & name ' Выведет "Привет, Анна"
End Sub

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

Quiz Questions 1/6

Каково основное назначение VBA в Microsoft Excel?

Quiz Questions 2/6

Какое сочетание клавиш используется для быстрого открытия редактора Visual Basic (VBE) в Excel?