VBA в Excel: что такое Visual Basic для приложений, как использовать

Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs

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

Что такое Visual Basic для приложений (VBA)?

Visual Basic для приложений (VBA) — это язык программирования, управляемый событиями, реализованный Microsoft для разработки приложений Office. VBA помогает разрабатывать процессы автоматизации, Windows API и пользовательские функции. Это также позволяет вам манипулировать функциями пользовательского интерфейса хост-приложений.

Прежде чем мы углубимся в подробности, давайте посмотрим, что такое компьютерное программирование на языке непрофессионала. Предположим, у вас есть горничная. Если вы хотите, чтобы горничная убрала дом и постирала. Вы говорите ей, что делать, скажем, на английском языке, и она делает всю работу за вас. Работая за компьютером, вам захочется выполнять определенные задачи. Точно так же, как вы приказали горничной выполнять работу по дому, вы также можете поручить компьютеру выполнить эту работу за вас.

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

VBA на самом деле является подмножеством Visual Basic 6.0 BASIC, что означает Bновички All-Цель Sсимволический Instruction Cода.

Почему ВБА?

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

Личное и деловое применение VBA в Excel

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

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

Введение в Visual Basic для приложений

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

  • Технология – В старшей школе мы изучали алгебру. Найдите (x + 2y), где x = 1 и y = 3. В этом выражении x и y являются переменными. Им могут быть присвоены любые номера, например 1 и 3 соответственно, как в этом примере. Их также можно изменить на 4 и 2 соответственно. Короче говоря, переменные — это ячейки памяти. Когда вы работаете с VBA Excel, вам также потребуется объявлять переменные, как на уроках алгебры.
  • Правила создания переменных
    • Не используйте зарезервированные слова – если вы работаете студентом, вы не можете использовать титулы «преподаватель» или «директор». Эти звания зарезервированы для преподавателей и руководства школы. Зарезервированные слова — это слова, которые имеют особое значение в Excel VBA, и поэтому их нельзя использовать в качестве имен переменных.
    • Имена переменных не могут содержать пробелы — вы не можете определить переменную с именем first number. Вы можете использовать firstNumber или first_number.
    • Используйте описательные имена – очень заманчиво назвать переменную в честь себя, но избегайте этого. Используйте описательные имена, например количество, цену, промежуточную сумму и т. д. Это облегчит чтение вашего кода Excel VBA.
  • Арифметические операторы – Правила Brackets применяются операции деления, умножения, сложения и вычитания (BODMAS), поэтому не забывайте применять их при работе с выражениями, в которых используется несколько различных арифметических операторов. Как и в Excel, вы можете использовать
    • + за дополнение
    • - для вычитания
    • * для умножения
    • / для разделения.
  • Логические операторы. Концепция логических операторов, рассмотренная в предыдущих руководствах, также применима при работе с VBA. К ним относятся
    • Если заявления
    • OR
    • НЕ
    • И
    • ИСТИНА
    • НЕПРАВДА

Как включить вкладку «Разработчик»

Ниже приведен пошаговый процесс включения вкладки разработчика в Excel:

  • Создать новую книгу
  • Нажмите кнопку запуска ленты.
  • выбрать
  • Нажмите на ленту настройки.
  • Установите флажок разработчика, как показано на изображении ниже.
  • нажмите OK

Включить вкладку разработчика

Теперь вы сможете увидеть вкладку РАЗРАБОТЧИК на ленте.

VBA Привет, мир!

Теперь мы продемонстрируем, как программировать на языке программирования VBA. Вся программа в VBA должна начинаться с «Sub» и заканчиваться «End sub». Здесь имя — это имя, которое вы хотите присвоить своей программе. Sub означает подпрограмму, которую мы изучим в следующей части руководства.

Sub name()
.
.
. 
End Sub

Мы создадим базовую программу VBA, которая отображает поле ввода для запроса имени пользователя, а затем отображает приветственное сообщение.

В этом руководстве предполагается, что вы прошли обучение по Макросы в экселе и включили вкладку РАЗРАБОТЧИК в Excel.

  • Создать новую трудовую книжку
  • Сохраните его в формате листа Excel с поддержкой макросов *.xlsm.
  • Нажмите на вкладку РАЗРАБОТЧИК.
  • Нажмите раскрывающийся список «ВСТАВИТЬ» под панелью ленты элементов управления.
  • Выберите командную кнопку, как показано на изображении ниже.

Программа VBA Hello World

Нарисуйте командную кнопку в любом месте листа.

Вы получите следующее диалоговое окно

Программа VBA Hello World

  • Переименуйте имя макроса в btnHelloWorld_Click.
  • Нажмите на новую кнопку
  • Вы получите следующее окно кода VBA.

Программа VBA Hello World

Введите следующие коды инструкций

Dim name As String
name = InputBox("Enter your name")
MsgBox "Hello " + name

ВОТ,

  • «Тусклое имя как строка» создает переменную с именем name. Переменная будет принимать текстовые, числовые и другие символы, поскольку мы определили ее как строку.
  • «имя = ВводBox("Введите ваше имя")" вызывает встроенную функцию InputBox отобразится окно с надписью «Введите свое имя». Введенное имя затем сохраняется в переменной имени.
  • MsgBox «Привет» + имя» вызывает встроенную функцию MsgBox которые отображают Hello и введенное имя.

Ваше полное окно кода теперь должно выглядеть следующим образом

Программа VBA Hello World

  • Закройте окно кода
  • Щелкните правой кнопкой мыши кнопку 1 и выберите «Редактировать текст».
  • Войти Скажи привет

Программа VBA Hello World

  • Нажмите «Сказать привет».
  • Вы получите следующее поле ввода

Программа VBA Hello World

  • Введите свое имя, например, Джордан.
  • Вы получите следующее окно сообщения

Программа VBA Hello World

Поздравляем, вы только что создали свою первую программу VBA в Excel.

Пошаговый пример создания простого калькулятора EMI в Excel

В этом учебном упражнении мы собираемся создать простую программу, которая рассчитывает EMI. EMI — это аббревиатура от «Приравненный ежемесячный платеж». Это ежемесячная сумма, которую вы выплачиваете при получении кредита. На следующем изображении показана формула расчета EMI.

Создание простого калькулятора EMI в Excel

Приведенная выше формула сложна и может быть записана в Excel. Хорошей новостью является то, что Excel уже решил вышеупомянутую проблему. Вы можете использовать функцию PMT для вычисления вышеизложенного.

Функция PMT работает следующим образом

=PMT(rate,nper,pv)

ВОТ,

  • "показатель" это месячная ставка. Это процентная ставка, разделенная на количество платежей в год.
  • «нпер» это общее количество платежей. Это срок кредита, умноженный на количество платежей в год.
  • «ПВ» Текущее значение. Это фактическая сумма кредита

Создайте графический интерфейс, используя ячейки Excel, как показано ниже.

Создание простого калькулятора EMI в Excel

Добавьте командную кнопку между строками 7 и 8.

Дайте имя макроса кнопки btnCalculateEMI_Click.

Нажмите кнопку редактирования

Введите следующий код

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double
monthly_rate = Range("B6").Value / Range("B5").Value
loan_amount = Range("B3").Value
number_of_periods = Range("B4").Value * Range("B5").Value 
emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)
Range("B9").Value = emi

ВОТ,

  • «Уменьшите ежемесячную ставку как одинокий,…» Dim — это ключевое слово, которое используется для определения переменные в VBA,month_rate — имя переменной, Single — тип данных, который означает, что переменная будет принимать число.
  • «Месячная_ставка = Диапазон («B6»). Значение / Диапазон («B5»). Значение» Диапазон — это функция, используемая для доступа к ячейкам Excel из VBA, Диапазон («B6»). Значение ссылается на значение в B6.
  • «WorksheetFunction.Pmt(…)» WorksheetFunction — это функция, используемая для доступа ко всем функциям Excel.

На следующем изображении показан полный исходный код.

Создание простого калькулятора EMI в Excel

  • Нажмите «Сохранить» и закройте окно кода.
  • Проверьте свою программу, как показано на анимированном изображении ниже.

Создание простого калькулятора EMI в Excel

Как использовать VBA в примере Excel

Следующие шаги объяснят, как использовать VBA в Excel.

Шаг 1) Откройте редактор VBA

На вкладке «Разработчик» в главном меню щелкните значок «Visual Basic», откроется редактор VBA.

Используйте VBA в Excel

Шаг 2) Выберите лист Excel и Double нажмите на рабочий лист

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

Используйте VBA в Excel

Откроется редактор VBA в правой части папки. Это будет выглядеть как белое пространство.

Используйте VBA в Excel

Шаг 3) Напишите все, что вы хотите отобразить в сообщении.Box

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

  • Сначала напишите «Sub», а затем «название программы» (Guru99)
  • Напишите все, что вы хотите отобразить в сообщении.Box (guru99-учиться - это весело)
  • Завершите программу, нажав End Sub.

Используйте VBA в Excel

Шаг 4) Нажмите зеленую кнопку запуска в верхней части редактора.

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

Используйте VBA в Excel

Шаг 5) Выберите лист и нажмите кнопку «Выполнить».

Когда вы запустите код, появится еще одно окно. Здесь вам необходимо выбрать лист, на котором вы хотите отобразить программу, и нажать кнопку «Выполнить».

Используйте VBA в Excel

Шаг 6) Отображение сообщения в сообщенииBox

Когда вы нажмете кнопку «Выполнить», программа запустится. Он отобразит сообщение в сообщении.Box.

Используйте VBA в Excel

Загрузите приведенный выше код Excel

Резюме

Полная форма VBA: Visual Basic для приложений. Это подкомпонент языка программирования Visual Basic, который можно использовать для создания приложений в Excel. С VBA вы по-прежнему можете воспользоваться мощными функциями Excel и использовать их в VBA.