Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
Я хотел бы расширить мудрые слова Стива Джобса и сказать, что все в мире должны научиться программировать компьютер. Возможно, вам совсем не обязательно работать программистом или писать программы, но это научит вас думать.
В этом уроке мы рассмотрим следующие темы.
- Что такое VBA?
- Почему VBA?
- Личные и бизнес приложения VBA в Excel
- Visual Basic для приложений Основы VBA
- Пошаговый пример создания простого калькулятора электромагнитных помех в Excel
Что такое VBA?
VBA означает Visual Basic для приложений . Прежде чем мы углубимся в детали, давайте посмотрим, что такое компьютерное программирование на языке неспециалиста. Предположим, у вас есть горничная. Если вы хотите, чтобы горничная убиралась в доме и стирала. Вы говорите ей, что делать, скажем, на английском, и она сделает всю работу за вас. Работая с компьютером, вы захотите выполнить определенные задачи. Точно так же, как вы сказали горничной делать домашние дела, вы также можете сказать компьютеру, чтобы он выполнял задачи за вас.
Процесс сообщения компьютеру о том, что вы хотите, чтобы он делал для вас, называется компьютерным программированием. Точно так же, как вы использовали английский, чтобы сказать горничной, что делать, вы также можете использовать английские операторы, чтобы сказать компьютеру, что делать. Заявления, подобные английскому, относятся к категории языков высокого уровня. VBA — это язык высокого уровня, который вы можете использовать, чтобы превзойти свою мощь.
VBA на самом деле к югу набор Visual Basic 6.0 BASIC означает B eginners LL-Purpose S при ymbolic I nstruction C ода.
Почему VBA?
- Для написания инструкций используются английские выражения.
- Создание пользовательского интерфейса похоже на использование программы рисования. Вы просто должны перетащить, перетащить и выровнять элементы управления графического интерфейса пользователя.
- Короткая кривая обучения. С первого дня, когда вы начинаете учиться, вы можете сразу начать писать простые программы.
- Расширяет функциональность Excel, позволяя заставить Excel вести себя так, как вы хотите
Личные и бизнес приложения VBA в Excel
Для личного использования вы можете использовать его для простых макросов, которые автоматизируют большинство ваших рутинных задач. Прочитайте статью о макросах для получения дополнительной информации о том, как вы можете достичь этого.
Для бизнес-целей вы можете создавать полноценные мощные программы на базе Excel и VBA. Преимущество этого подхода в том, что вы можете использовать мощные функции Excel в своих собственных программах.
Visual Basic для приложений Основы VBA
Прежде чем мы сможем написать какой-либо код, мы должны сначала знать основы. Следующие основы помогут вам начать.
- Переменная — в старших классах мы узнали об алгебре. Найдите (x + 2y), где x = 1 и y = 3. В этом выражении x и y являются переменными. Им могут быть назначены любые номера, то есть 1 и 3 соответственно, как в этом примере. Они также могут быть изменены, чтобы сказать 4 и 2 соответственно. Короче говоря, переменные являются ячейками памяти. Поскольку вы работаете с VBA, вам потребуется также объявлять переменные, как в классах алгебры.
-
Правила создания переменных
- Не используйте зарезервированные слова — если вы работаете студентом, вы не можете использовать титул лектора или директора. Эти названия зарезервированы для преподавателей и администрации школы. Зарезервированные слова — это те слова, которые имеют особое значение в Vba, и поэтому их нельзя использовать в качестве имен переменных.
- Имена переменных не могут содержать пробелов — вы не можете определить переменную с именем first number. Вы можете использовать firstNumber или first_number.
- Используйте описательные имена — очень заманчиво назвать переменную после себя, но избегайте этого. Используйте описательные имена, например количество, цену, промежуточную сумму и т. Д., Чтобы ваш код VBA был легко читаем
-
Арифметические операторы. Применяются правила сложения и вычитания в скобках деления умножения (BODMAS), поэтому не забывайте применять их при работе с выражениями, использующими несколько различных арифметических операторов. Как и в Excel, вы можете использовать
- + для дополнения
- — для вычитания
- * для умножения
- / для деления.
-
Логические операторы. Концепция логических операторов, описанная в предыдущих руководствах, также применяется при работе с VBA. К ним относятся
- Если заявления
- ИЛИ
- НЕ
- А ТАКЖЕ
- ПРАВДА
- ЛОЖНЫЙ
Включить опцию разработчика
- Создать новую рабочую книгу
- Click on the ribbon start button
- Select options
- Click on customize ribbon
- Select the developer checkbox as shown in the image below
- Click OK
You will now be able to see the DEVELOPER tab in the ribbon
VBA Hello world
Now we will demonstrate how to program in VBA. All program in VBA has to start with «Sub» and end with «End sub». Here the name is the name you want to assign to your program. While sub stands for a subroutine which we will learn in the later part of the tutorial.
Sub name() . . . End Sub
We will create a basic VBA program that displays an input box to ask for the user’s name then display a greeting message
This tutorial assumes you have completed the tutorial on Macros in excel and have enabled the DEVELOPER tab in excel.
- Create a new work book
- Save it in an excel macro enabled worksheet format *.xlsm
- Нажмите на вкладку РАЗРАБОТЧИК
- Нажмите на раскрывающийся список INSERT под панелью управления
- Выберите командную кнопку, как показано на рисунке ниже
Нарисуйте командную кнопку в любом месте листа
Вы получите следующее диалоговое окно
- Переименуйте имя макроса в btnHelloWorld_Click
- Нажмите на новую кнопку
- Вы получите следующее окно кода
Введите следующие коды инструкций
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
ВОТ,
- «Dim name as String» создает переменную с именем name. Переменная будет принимать текстовые, числовые и другие символы, потому что мы определили ее как строку
- «name = InputBox (« Введите ваше имя »)» вызывает встроенную функцию InputBox, которая отображает окно с заголовком «Введите ваше имя». Введенное имя затем сохраняется в переменной имени.
- » MsgBox» Hello «+ name» вызывает встроенную функцию MsgBox, которая отображает Hello и введенное имя.
Ваше полное окно кода теперь должно выглядеть следующим образом
- Закройте окно кода
- Щелкните правой кнопкой мыши на кнопке 1 и выберите редактировать текст
- Войти Скажи привет
- Нажмите на Скажи привет
- Вы получите следующее поле ввода
- Введите свое имя т.е. Иордания
- Вы получите следующее окно сообщения
Поздравляем, вы только что создали свою первую программу VBA в Excel
Пошаговый пример создания простого калькулятора электромагнитных помех в Excel
В этом учебном упражнении мы собираемся создать простую программу, которая рассчитывает EMI. EMI является аббревиатурой от равных ежемесячных платежей. Это ежемесячная сумма, которую вы выплачиваете, когда получаете кредит. На следующем рисунке показана формула для расчета EMI.
Приведенная выше формула сложна и может быть написана в Excel. Хорошей новостью является то, что Excel уже позаботился о вышеуказанной проблеме Вы можете использовать функцию PMT для вычисления выше.
Функция PMT работает следующим образом
=PMT(rate,nper,pv)
ВОТ,
- «Оценить» это месячная ставка. Это процентная ставка, деленная на количество платежей в год
- «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 month_rate As Single,…» Dim — это ключевое слово, которое используется для определения переменных в VBA, month_rate — имя переменной, Single — тип данных, который означает, что переменная будет принимать число.
- «month_rate = Range (» B6 «). Value / Range (» B5 «). Value» Range — это функция, используемая для доступа к ячейкам Excel из VBA, Range («B6»). Значение ссылается на значение в B6
- «WorksheetFunction.Pmt (…)» WorksheetFunction — это функция, используемая для доступа ко всем функциям в Excel.
На следующем рисунке показан полный исходный код
- Нажмите на сохранить и закройте окно кода
- Протестируйте свою программу, как показано на анимированном изображении ниже
Пример 2
Шаг 1) На вкладке «Разработчик» в главном меню щелкните значок «Visual Basic», чтобы открыть редактор VBA.
Шаг 2) Откроется редактор VBA, из которого вы можете выбрать лист Excel, в котором вы хотите запустить код. Чтобы открыть редактор VBA, дважды щелкните по листу.
Он откроет редактор VBA в правой части папки. Это будет выглядеть как белое пространство.
Шаг 3) На этом шаге мы увидим нашу первую программу VBA. Для чтения и отображения нашей программы нам нужен объект. В VBA этот объект или среда в MsgBox.
- Сначала напишите «Sub», а затем свое «имя программы» (Guru99)
- Напишите все, что вы хотите отобразить в MsgBox (обучение guru99 — это весело)
- Завершить программу End Sub
Шаг 4) На следующем шаге вы должны запустить этот код, нажав зеленую кнопку запуска в верхней части меню редактора.
Шаг 5) Когда вы запустите код, появится другое окно. Здесь вы должны выбрать лист, где вы хотите отобразить программу и нажмите кнопку «Выполнить»
Шаг 6) Когда вы нажмете кнопку «Выполнить», программа запустится. Он отобразит сообщение в MsgBox.
Загрузите приведенный выше код Excel
Резюме
VBA означает Visual Basic для приложений. Это подкомпонент языка программирования Visual Basic, который вы можете использовать для создания приложений в Excel. С VBA вы все еще можете воспользоваться мощными функциями Excel и использовать их в VBA.