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.
- Нажмите на вкладку РАЗРАБОТЧИК.
- Нажмите раскрывающийся список «ВСТАВИТЬ» под панелью ленты элементов управления.
- Выберите командную кнопку, как показано на изображении ниже.
Нарисуйте командную кнопку в любом месте листа.
Вы получите следующее диалоговое окно
- Переименуйте имя макроса в btnHelloWorld_Click.
- Нажмите на новую кнопку
- Вы получите следующее окно кода VBA.
Введите следующие коды инструкций
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
ВОТ,
- «Тусклое имя как строка» создает переменную с именем name. Переменная будет принимать текстовые, числовые и другие символы, поскольку мы определили ее как строку.
- «имя = ВводBox("Введите ваше имя")" вызывает встроенную функцию InputBox отобразится окно с надписью «Введите свое имя». Введенное имя затем сохраняется в переменной имени.
- MsgBox «Привет» + имя» вызывает встроенную функцию MsgBox которые отображают Hello и введенное имя.
Ваше полное окно кода теперь должно выглядеть следующим образом
- Закройте окно кода
- Щелкните правой кнопкой мыши кнопку 1 и выберите «Редактировать текст».
- Войти Скажи привет
- Нажмите «Сказать привет».
- Вы получите следующее поле ввода
- Введите свое имя, например, Джордан.
- Вы получите следующее окно сообщения
Поздравляем, вы только что создали свою первую программу VBA в Excel.
Пошаговый пример создания простого калькулятора EMI в Excel
В этом учебном упражнении мы собираемся создать простую программу, которая рассчитывает EMI. EMI — это аббревиатура от «Приравненный ежемесячный платеж». Это ежемесячная сумма, которую вы выплачиваете при получении кредита. На следующем изображении показана формула расчета EMI.
Приведенная выше формула сложна и может быть записана в Excel. Хорошей новостью является то, что Excel уже решил вышеупомянутую проблему. Вы можете использовать функцию PMT для вычисления вышеизложенного.
Функция PMT работает следующим образом
=PMT(rate,nper,pv)
ВОТ,
- "показатель" это месячная ставка. Это процентная ставка, разделенная на количество платежей в год.
- «нпер» это общее количество платежей. Это срок кредита, умноженный на количество платежей в год.
- «ПВ» Текущее значение. Это фактическая сумма кредита
Создайте графический интерфейс, используя ячейки 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.
На следующем изображении показан полный исходный код.
- Нажмите «Сохранить» и закройте окно кода.
- Проверьте свою программу, как показано на анимированном изображении ниже.
Как использовать VBA в примере Excel
Следующие шаги объяснят, как использовать VBA в Excel.
Шаг 1) Откройте редактор VBA
На вкладке «Разработчик» в главном меню щелкните значок «Visual Basic», откроется редактор VBA.
Шаг 2) Выберите лист Excel и Double нажмите на рабочий лист
Откроется редактор VBA, из которого вы сможете выбрать лист Excel, на котором хотите запустить код. Чтобы открыть редактор VBA, дважды щелкните рабочий лист.
Откроется редактор VBA в правой части папки. Это будет выглядеть как белое пространство.
Шаг 3) Напишите все, что вы хотите отобразить в сообщении.Box
На этом этапе мы увидим нашу первую программу VBA. Чтобы прочитать и отобразить нашу программу, нам нужен объект. В VBA этот объект или среда в сообщенииBox.
- Сначала напишите «Sub», а затем «название программы» (Guru99)
- Напишите все, что вы хотите отобразить в сообщении.Box (guru99-учиться - это весело)
- Завершите программу, нажав End Sub.
Шаг 4) Нажмите зеленую кнопку запуска в верхней части редактора.
На следующем шаге вам нужно запустить этот код, нажав зеленую кнопку запуска в верхней части меню редактора.
Шаг 5) Выберите лист и нажмите кнопку «Выполнить».
Когда вы запустите код, появится еще одно окно. Здесь вам необходимо выбрать лист, на котором вы хотите отобразить программу, и нажать кнопку «Выполнить».
Шаг 6) Отображение сообщения в сообщенииBox
Когда вы нажмете кнопку «Выполнить», программа запустится. Он отобразит сообщение в сообщении.Box.
Загрузите приведенный выше код Excel
Резюме
Полная форма VBA: Visual Basic для приложений. Это подкомпонент языка программирования Visual Basic, который можно использовать для создания приложений в Excel. С VBA вы по-прежнему можете воспользоваться мощными функциями Excel и использовать их в VBA.