Example #2: Allow User to Execute another Procedure
In the VBA Editor, select Insert -> New Module
Write this code in the Module window (don’t paste!):
Sub UserReportQuery()
Dim UserInput As Long
Dim Answer As Integer
UserInput = vbYesNo
Answer = MsgBox(«Process the XYZ Report?», UserInput)
If Answer = vbYes Then ProcessReport
End Sub
Sub ProcessReport()
MsgBox («Thanks for processing the XYZ Report.»)
End Sub
Save and navigate back to the Developer tab of Excel and select the “Button” option. Click on a cell and assign the UserReportQuery macro to the button.
Now click the button. This message should display:
Click “yes” or hit Enter.
Once again, tada!
Please note that the secondary subroutine, ProcessReport, could be anything. I’ll demonstrate more possibilities in example #3. But first…
How is it doing that?
This example builds on the previous example and has quite a few new elements. Let’s go over the new stuff:
- Dim UserInput As Long: Dim is short for “dimension” and allows you to declare variable names. In this case, UserInput is the variable name and Long is the data type. In plain English, this line means “Here’s a variable called “UserInput”, and it’s a Long variable type.”
- Dim Answer As Integer: declares another variable called “Answer,” with a data type of Integer. Learn more about data types here.
- UserInput = vbYesNo: assigns a value to the variable. In this case, vbYesNo, which displays Yes and No buttons. There are many button types, learn more here.
- Answer = MsgBox(“Process the XYZ Report?”, UserInput): assigns the value of the variable Answer to be a MsgBox function and the UserInput variable. Yes, a variable within a variable.
- If Answer = vbYes Then ProcessReport: this is an “If statement,” a conditional statement, which allows us to say if x is true, then do y. In this case, if the user has selected “Yes,” then execute the ProcessReport subroutine.
When could I use this?
This could be used in many, many ways. The value and versatility of this functionality is more so defined by what the secondary subroutine does.
For example, maybe you have a file that is used to generate 3 different weekly reports. These reports are formatted in dramatically different ways.
- Problem: Each time one of these reports needs to be generated, a user opens the file and changes formatting and charts; so on and so forth. This file is being edited extensively at least 3 times per week, and it takes at least 30 minutes each time it’s edited.
- Solution: create 1 button per report type, which automatically reformats the necessary components of the reports and generates the necessary charts.
Real World Examples
- Create a dialog box for user to automatically populate certain information across multiple sheets
- Use the InputBox function to get information from the user, which is then populated across multiple sheets
Написание простой процедуры на Visual Basic for Application
Код любой процедуры (подпрограммы) располагается в модуле, поэтому необходимо его добавить, чтобы приступить к программированию. Выберите пункт «Module» на вкладке «Insert» основного меню редактора VBA. В основной области редактора (на изображении имеет серый фон) должно появиться новое окно кода – Имя_книги – имя_модуля (Code), а в окне управления проектами (№3) к дереву выбранного проекта добавится вновь созданный модуль.
Добавьте в модуль следующий код:
Данная процедура выводит на экран диалоговое окно с сообщением «Привет пользователь!». Протестируйте ее работу, нажав кнопку Rub Sub (№2 на изображении) или вызвав как обычный макрос.
Теперь более подробно разберем приведенный код.
Любая процедура начинается со строки объявления, состоящей из оператора Sub (сокращение от Subprogram), после которого следует имя подпрограммы. За именем следует перечень аргументов, заключенный в скобки.
Для имени действуют некоторые ограничения: оно должно начинаться с буквы и не должно содержать пробелы и большинство спецсимволов.
В этом примере аргументы не используются, поэтому указываются пустые скобки.
Следующая строка выводит диалог на экран с помощью функции MsgBox. Сообщение, которое в нее передается должно содержать текст, поэтому оно заключается в двойные кавычки.
Последняя строка содержит оператор End с последующим ключевым словом Sub и сообщает о завершении процедуры.
Understanding the Code
There are 2 types of procedures – Sub procedures and Function procedures.
Sub Procedures
The macro recorder can only record Sub procedures. A Sub procedure does things. They perform actions such as formatting a table or creating a pivot table, or in the gridline example, changing the view settings of your active window. The majority of procedures written are Sub procedures. All macros are Sub procedures.
A sub procedure begins with a Sub statement and ends with an End Sub statement. The procedure name is always followed by parentheses.
Function Procedures
A Function procedure returns a value. This value may be a single value, an array, a range of cells or an object. Functions usually perform some type of calculation. Functions in Excel can be used with the Function Wizard or they can be called from Sub Procedures.
This function could be used within the Insert Function dialog box in Excel to convert Pounds to Kilograms.
Характеристики компонентов VBE
Окно проекта (Project)
ПроектProject (Проект)
- Объекты основного приложения. Проекты VBA выполняются совместно с другими приложениями. Приложение, в котором разрабатывается и выполняется проект VBA, называется основным.
- Модули форм. В VBA имеется возможность создавать пользовательские формы, предназначенные для ввода или вывода данных, а также процедуры обработки событий, возникающие в этих формах.
- Модули кода. Модульность — один из основных принципов парадигмы структурного программирования. Каждый модуль, как правило, содержит подпрограммы, сходные по назначению. Небольшие модули проще отлаживать и использовать повторно. В частности, в VBE имеются средства импорта/экспорта готового кода.
- Модули классов. VBA позволяет создавать и использовать собственные объекты. Описание объектов включается в модули класса. Каждый модуль класса содержит полную информацию об одном типе объекта.
Окно Code (Окно редактирования кода)
Интеллектуальные возможности редактора кода:
- При написании кода пользователю предлагается список компонентов, логически завершающих вводимую пользователем инструкцию.
- На экране автоматически отображаются сведения о процедурах, функциях, свойствах и методах после набора их имени.
- Автоматически проверяется синтаксис набранной строки кода сразу после нажатия клавиши Enter. В результате проверки выполняется выделение определенных фрагментов текста:
- красным цветом – синтаксические ошибки;
- синим цветом – зарезервированные ключевые слова;
- зеленым цветом – комментарии.
- Если курсор расположить на ключевом слове VBA, имени процедуры, функции, свойства или метода и нажать клавишу F1, то на экране появится окно со справочной информацией об этой функции.
Окна отладочной информации
Окно Immediate (Проверка)Окно Locals (Локальные переменные)
Окно Watches (Контрольные значения) применяется при отладке программ для просмотра значений выражений.
CC-BY-CA Анатольев А.Г., 31.01.2012
Форматирование кода
По умолчанию система Visual Studio 2013 помогает писать читабельный код, автоматически выравнивая текст. Однако ее можно настроить так, чтобы контролировать внешний вид кода. Общим для всех языков программирования является возможность управлять событиями, которые должны произойти при создании новой строки. На рисунке ниже показан узел Tabs, расположенный под узлом Text Editors All Languages диалогового окна Options. В этом узле определены значения, заданные по умолчанию для всех языков. Эти значения можно изменить, используя узел Basic —> Tabs (для языка VB.NET), C# —> Tabs, или другие узлы, соответствующие другим языкам.
По умолчанию для языков C# и VB.NET включен режим интеллектуального выравнивания, который, помимо прочего, автоматически осуществляет выравнивание при открытии и закрытии вложений. Интеллектуальное выравнивание доступно не для всех языков. В таких ситуациях вместо него используется выравнивание блоков.
Если вы работаете с маленьким экраном, то, возможно, захотите уменьшить шаги табуляции и размеры отступов, чтобы оптимизировать использование экрана. Задавая шаги табуляции и размеры отступов одинаковыми, вы легко сможете выравнивать свой код с помощью клавиши табуляции. Интересно, что это диалоговое окно дает разработчикам, работающим на языке C#, много возможностей для управления компоновкой своего кода. В узле VB Specific есть только один флажок Pretty listing (reformatting) of code, который при включении позволяет поддерживать единообразный внешний вид кода и освобождает пользователя от необходимости заботиться о методах выравнивания, свертках, определениях классов и пространствах имен. С другой стороны, разработчики, работающие на языке C#, могут контролировать практически каждый аспект форматирования кода с помощью дополнительных узлов.
Режим Smart Indenting в системе Visual Studio практически всегда прекрасно справляется с автоматическим выравниваем кода по мере его ввода или вставки в окно редактора кода, но иногда встречаются плохо отформатированные фрагменты кода, которые трудно читать. Для того чтобы система Visual Studio переформатировала весь документ и установила позиции фигурных скобок и отступов строк, выберите команду Edit —> Advanced —> Format Document или нажмите комбинацию клавиш <Ctrl+K>, <Ctrl+D>. Для того чтобы переформатировать только что выделенный блок кода, выберите команду Edit —> Advanced —> Format Selection или нажмите комбинацию клавиш <Ctrl+K>, <Ctrl+F>.
Для того чтобы выровнять целый блок кода на одном уровне, не изменяя каждую строку по отдельности, выберите блок и нажмите клавишу <Tab>. В начало каждой строки будет вставлен символ табуляции. Для того чтобы отменить выравнивание блока по одному уровню, выделите его и нажмите комбинацию клавиш <Shift+Tab>.
Вы могли заметить, что команды Tabify/Untabify Selected Lines в меню Edit —> Advanced сильно отличаются от команды Format Selection. Эти команды превращают ведущие пробелы в символы табуляции, и наоборот, а не вычисляют заново отступы, как это делает команда Format Selection.
Проверка значений переменных
Для отображения в окне Immediate значений переменных используется метод Print класса Debug (Debug.Print). Рассмотрим работу этого метода сразу на примере.
Пример 2
1 |
SubPrimer2() DimaAsByte,bAsByte,cAsByte a=15 b=(a+35)5 c=a*b-50 ‘Каждая переменная в отдельной строке: Debug.Printa Debug.Printb Debug.Printc ‘Все переменные в одной строке Debug.Print»a = «&a;»b = «&b;_ «c = «&c ‘с разделителем «запятая»: Debug.Print»a = «&a,»b = «&b,_ «c = «&c EndSub |
Помечаем маркерами строки с методом Debug.Print, кликнув по левому полю напротив нужных строк, чтобы в этих местах остановить исполнение кода. Строка с маркером, на котором остановилась программа, будет выполнена после очередного нажатия кнопки Run Macro или клавиши F5.
Результаты выполнения кода смотрите на изображении:
Проверка значений переменных
Если при размещении нескольких элементов после метода Debug.Print не указать разделитель, редактор VBA при запуске кода на выполнение автоматически вставит между элементами разделитель «точка с запятой». Сравните с результатом использования в качестве разделителя символа «запятая».
При работе с переменными можно изменять их значение непосредственно в окне Immediate. Введите строку с присвоением переменной нового значения и нажмите клавишу Enter. Значение переменной будет перезаписано.
Пример 3
Пример изменения значения переменной в окне Immediate во время исполнения кода VBA Excel:
1 |
SubPrimer3() DimaAsVariant a=WorksheetFunction.Pi Debug.Printa ‘Вводим в окне Immediate строку Debug.Printa ‘Вводим в окне Immediate строку Debug.Printa EndSub |
В этом примере переменной a присваивается значение числа Пи. Далее мы непосредственно в окне Immediate дважды меняем значение этой переменной. Маркер остановки исполнения кода ставим на второй и третьей строке Debug.Print a. Результаты смотрите на изображении:
Изменение значения переменной в окне Immediate
Куда добавить код в редакторе VB
Я надеюсь, что теперь у вас есть общее представление о том, что такое VB Editor и какие в нем части.
В этом разделе этого руководства я покажу вам, где добавить код VBA в редактор Visual Basic.
Есть два места, где вы можете добавить код VBA в Excel:
- Окно кода для объекта. Этими объектами могут быть рабочая книга, рабочий лист, пользовательская форма и т. Д.
- Окно кода модуля.
Окно кода модуля против окна кода объекта
Позвольте мне сначала быстро пояснить разницу между добавлением кода в модуль и добавлением кода в окне объектного кода.
Когда вы добавляете код к любому из объектов, он зависит от какого-либо действия этого объекта, которое запускает этот код. Например, если вы хотите отобразить все рабочие листы в книге, как только вы откроете эту книгу, тогда код будет помещен в объект ThisWorkbook (который представляет книгу).
В данном случае триггер открывает книгу.
Точно так же, если вы хотите защитить рабочий лист, как только активируется какой-либо другой рабочий лист, код для этого будет помещен в окно кода рабочего листа.
Эти триггеры называются событиями, и вы можете связать код, который будет выполняться при возникновении события.
Связанный: Узнайте больше о событиях в VBA.
Напротив, код в модуле должен выполняться вручную (или его также можно вызывать из других подпрограмм).
Когда вы записываете макрос, Excel автоматически создает модуль и вставляет в него записанный код макроса. Теперь, если вам нужно запустить этот код, вам нужно вручную выполнить макрос.
Добавление кода VBA в модуль
При записи макроса автоматически создается модуль и вставляется в него код, однако при использовании средства записи макросов существуют некоторые ограничения. Например, он не может использовать циклы или условия If Then Else.
В таких случаях лучше либо скопировать и вставить код вручную, либо написать код самостоятельно.
Модуль может использоваться для хранения следующих типов кодов VBA:
- Декларации: Вы можете объявлять переменные в модуле. Объявление переменных позволяет указать, какой тип данных может содержать переменная. Вы можете объявить переменную только для подпрограммы или для всех подпрограмм в модуле (или всех модулях)
- Подпрограммы (процедуры): Это код, в котором есть шаги, которые вы хотите выполнить с помощью VBA.
- Функциональные процедуры: Это код, который возвращает одно значение, и вы можете использовать его для создания пользовательских функций (также называемых пользовательскими функциями или UDF в VBA).
По умолчанию модуль не является частью книги. Вам необходимо вставить его перед использованием.
Добавление модуля в редактор VB
Ниже приведены шаги по добавлению модуля:
- Щелкните правой кнопкой мыши любой объект книги (в котором вы хотите установить модуль).
- Наведите курсор на опцию Вставить.
- Щелкните по модулю.
Это мгновенно создаст папку с именем Module и вставит объект с именем Module 1. Если у вас уже есть вставленный модуль, вышеупомянутые шаги будут вставлять другой модуль.
После того, как модуль вставлен, вы можете дважды щелкнуть объект модуля в Project Explorer, и он откроет для него окно кода.
Теперь вы можете скопировать и вставить код или написать его самостоятельно.
Удаление модуля
Ниже приведены шаги по удалению модуля в Excel VBA:
- Щелкните правой кнопкой мыши модуль, который хотите удалить.
- Нажмите на опцию «Удалить модуль».
- В открывшемся диалоговом окне нажмите Нет.
Примечание. Вы можете экспортировать модуль перед его удалением. Он сохраняется как файл .bas, и вы можете импортировать его в другой проект. Чтобы экспортировать модуль, щелкните модуль правой кнопкой мыши и выберите «Экспорт файла».
Добавление кода в окно объектного кода
Чтобы открыть окно кода для объекта, просто дважды щелкните по нему.
Когда он откроется, вы можете ввести код вручную или скопировать и вставить код из других модулей или из Интернета.
Обратите внимание, что некоторые объекты позволяют выбрать событие, для которого вы хотите написать код. Например, если вы хотите написать код, чтобы что-то происходило при изменении выбора на листе, вам нужно сначала выбрать листы из раскрывающегося списка в верхнем левом углу окна кода, а затем выбрать событие изменения из раскрывающегося списка
-вниз справа
Например, если вы хотите написать код, чтобы что-то происходило при изменении выбора на листе, вам нужно сначала выбрать листы из раскрывающегося списка в верхнем левом углу окна кода, а затем выбрать событие изменения из раскрывающегося списка. -вниз справа.
Примечание: эти события относятся к объекту. Когда вы откроете окно кода для книги, вы увидите события, связанные с объектом книги. Когда вы откроете окно кода для рабочего листа, вы увидите события, связанные с объектом рабочего листа.
Using VB Editor to Write a Code
At this point, you know all the major components of the VBA editor, so now let’s learn how to add code in it.
Module Code Window Vs Object Code Window
There are two different types of code windows and both look just the same but there is a difference that you need to know.
- Module Code Window: Code in the normal module can be executed manually or you can also call it from a separate procedure.
- Object Code Window: Code in the object code window can be executed by using an event. Let’s suppose you want to run code when you double click on a cell, in that case, you need to use the double click event and you need to add code to that worksheet.
2. Module Code Window
You will be writing most of the VBA code in a module. To add code in a module you need to use the SUB procedure or the FUNCTION procedure.
- Sub procedure
- Function procedure
The difference between a sub and a function procedure is sub procedure can’t return a value, on the other hand, a function procedure can return a value.
When you record a macro that code goes straight into a module that VBA inserts automatically when you use the macro recorder.
Insert a Module
When you need to write code, you have to insert a module and for this, you simply need to go to the project window and right-click on the project name, and from that menu go to insert and select module.
Remove a Module
You can also remove a module if it doesn’t require anymore so you just simply need to right-click on the module and select remove.
And when you click on remove, it asks you if you want to back up that module before removing it. There is also an option where you can export a module to save it as a file in your system.
3. Object Code Window
Open the code window for the object you simply need to double click on it and in its the code window, there is a dropdown from where you can select the event that you want to use to execute the code.
Imagine if you want to write the code and want to execute on the double click then you need to select “BeforeDoubleClick” from the dropdown.
Окна редактора
В Visual Basic можно запустить несколько окон для работы с кодом. Управлять же ими можно в меню «Вид». Основные свойства отдельных окон кратко описаны ниже.
Окно проекта
Это окно находится слева от редактора VBA (что можно увидеть на скриншоте, расположенном выше). Здесь вы сможете работать с «Проектом» книги Excel, открытой в настоящий момент.
В проекте собраны все модули и объекты VBA, связанные с текущим документом Excel. Он состоит из:
- Объекта «ЭтаКнига».
- Объектов «Лист».
Следует отметить, что вы сможете самостоятельно добавлять такие объекты, как «Пользовательская форма», «Модуль» и «Модуль класса». Так, на расположенном выше скриншоте можно увидеть, что в документ добавили модуль под названием Module1.
Чтобы создать объект, необходимо следовать этой простой инструкции:
- Перейдите в окно «Проект» и нажмите на книгу, в которую необходимо добавить объект.
- Выберите опцию «Вставить», а затем выберите необходимый тип объекта.
Для каждого из представленных объектов есть отдельное окно кода. При работе с ним следует придерживаться следующих правил:
- Связанный с рабочей книгой код должен быть присвоен объекту «ЭтаКнига».
- Связанный с определённым рабочим листом код необходимо присвоить объекту «Лист».
- Не связанный с каким-либо объектом код нужно ввести в «Модуль».
- Код дополнительных объектов необходимо вписывать в «Модуль класса».
- При создании окна для дальнейшего взаимодействия с пользователями, следует работать с объектом «Пользовательская форма».
Окно кода
Кликнув дважды по объекту в окне проекта, вы откроете окно кода. В нём можно работать с кодом VBA. На представленном ранее скриншоте показано окно кода для объекта «Модуль».
Если вы пишите код непосредственно в данном окне, редактор сразу же выделяет все несоответствия. Таким образом, вы сможете исправить все проблемы и написать действительно работающий код без ошибок.
Окно свойств
В данном окне перечислены все характеристики объекта, выбранного в окне проекта
Внимание! Объект обязательно должен находиться только в стадии разработки. . Все свойства зависят от типа выбранного объекта
Это значит, что они будут абсолютно различны у «Листа», «Модуля», «Класса Модуля» и т.д
Все свойства зависят от типа выбранного объекта. Это значит, что они будут абсолютно различны у «Листа», «Модуля», «Класса Модуля» и т.д.
Окно отладчика
Чтобы открыть данное окно, во вкладке «Вид» найдите параметр «Отладка». Кроме того, вы можете просто зажать комбинацию Ctrl и G.
Это окно поможет вам с отладкой, поскольку в нём отображаются её операторы. Кроме того, вы сможете вычислять определённые выражения и выполнять некоторые строки кода.
Окно переменных
Для открытия «Переменных» найдите опцию «Окно переменных» в меню «Вид». После этого вы увидите все аргументы, задействованные в данном процессе. Все данные будут отображены в виде столбцов. В них записываются названия, значения и виды каждого аргумента.
При каждом новом запуске программы информация обновляется. Благодаря этому вы сможете контролировать весь процесс работы и выявлять несоответствия кода.
Окно отслеживания
В данном окне также можно отладить код. В нём показывается значение, тип и контекст всех числовых показателей, выбранных ранее.
Чтобы его открыть, перейдите ко вкладке «Вид». В ней выберите «Окно отслеживания». Готово! При определении отслеживаемого выражения окно отслеживания появляется автоматически.
Чтобы определить необходимое выражение, сделайте следующее:
- Выберите определённый элемент в коде VBA.
- В меню «Отладка» найдите опцию «Быстрое отслеживание».
- Нажмите на кнопку «Добавить».
Итак, мы рассмотрели основные особенности работы в Visual Basic. В любом случае, не стоит ограничиваться только данными знаниями. В редакторе существует большое количество дополнительных инструментов для отладки кода VBA.
VBA Excel. Начинаем программировать с нуля
Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.
Начинаем программировать с нуля Часть 1. Первая программа
Знакомство с редактором VBA
В левой части редактора VBA расположен проводник проекта, в котором отображены все открытые книги Excel. Верхней строки, как на изображении, у вас скорее всего не будет, так как это – личная книга макросов. Справа расположен модуль, в который записываются процедуры (подпрограммы) с кодом VBA. На изображении открыт модуль листа, мы же далее создадим стандартный программный модуль.
- Нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку после значка Excel на панели инструментов.
После нажатия кнопки «Module» вы увидите ссылку на него, появившуюся в проводнике слева.
Первая программа на VBA Excel
Добавляем на стандартный модуль шаблон процедуры – строки ее начала и завершения, между которыми мы и будем писать свою первую программу (процедуру, подпрограмму).
- Откройте стандартный модуль двойным кликом по его ссылке в проводнике. Поместите в него курсор и нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.
В результате откроется окно добавления шаблона процедуры (Sub).
- Наберите в поле «Name» имя процедуры: «Primer1», или скопируйте его отсюда и вставьте в поле «Name». Нажмите кнопку «OK», чтобы добавить в модуль первую и последнюю строки процедуры.
Имя процедуры может быть написано как на латинице, так и на кириллице, может содержать цифры и знак подчеркивания. Оно обязательно должно начинаться с буквы и не содержать пробелы, вместо которых следует использовать знак подчеркивания.
- Вставьте внутрь шаблона процедуры следующую строку: MsgBox «Привет» .
Функция MsgBox выводит информационное сообщение с указанным текстом. В нашем примере – это «Привет».
- Проверьте, что курсор находится внутри процедуры, и запустите ее, нажав клавишу «F5». А также, запустить процедуру на выполнение можно, нажав на треугольник (на изображении под пунктом меню «Debug») или на кнопку «Run Sub/UserForm» во вкладке «Run» главного меню редактора VBA Excel.
Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!
Работа с переменными
Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «’» (апостроф).
Пример 2 Присвоение переменным числовых значений:
Excel VBA Editor
Table of contents
You are free to use this image on your website, templates, etc, Please provide us with an attribution linkHow to Provide Attribution?Article Link to be HyperlinkedFor eg:Source: VBA Editor (wallstreetmojo.com)
How to Open Visual Basic Editor?
We can open VBE using three different ways.
#1 – Using Developer Tab
To open the Editor, we must go to the Developer tab of excelDeveloper Tab Of ExcelEnabling the developer tab in excel can help the user perform various functions for VBA, Macros and Add-ins like importing and exporting XML, designing forms, etc. This tab is disabled by default on excel; thus, the user needs to enable it first from the options menu.read more and click on the “Visual Basic” option, as shown in the picture below.
#2 – Using Worksheet Tab
We can also open the Editor by using the Worksheet tabWorksheet TabWorksheet tabs in excel are rectangular tabs visible on the bottom left of the excel workbook. The active tab shows the active worksheet available to edit. There can be three worksheet tabs opened by default, and we can insert more tabs using the plus button.read more as well. To open this in the worksheet tab, right-click on select View Code.
#3 – Using Shortcut Key
Of all the three ways, this is the favorite. We do not use the other two methods at all. press, the shortcut excels keyPress, The Shortcut Excels KeyAn Excel shortcut is a technique of performing a manual task in a quicker way.read more ALT + F11 To open the Editor window.
It is a toggle shortcut when you press it. If you press it again, it will take you back to the active workbook.
Visual Basic Editor Window
If you look at the VBA window for the first time, it does not look very comforting because of a completely new option and features you see for the first time. When you look at the window, it has a retro look. Even though various new designs replaced the Excel visibility, Visual Basic Editor still has its retro look from the beginning.
We usually see four parts in the Visual Basic Editor window. Below is a detailed explanation of the same.
Menu Bar: Like Excel has a menu ribbon; similarly, Visual Basic Editor has its menu bar. It has all the available things in VBA. You can do settings, insert modules, toolbars, etc.
Tool Bar: In the toolbar section, we can save, head back to the Excel worksheet, we can redoWe Can RedoIn Excel, we have an option named “Undo” that we may use by pressing Ctrl + Z. When we undo an action but subsequently realize it was not a mistake, we can cancel the undo action and return to the original point, using «Redo.»read more, undo, run the macro, stop the macro, etc.
Project Window: It is always on the left side of the Editor. It has a workbook name, worksheet name, and modules.
Properties Window: Properties window is associated with the Project window. Here, we can change the sheet name, module name, etc. Suppose you do not see this window by default; press F4 to activate it.
It is a floating window. We can move anywhere within the window. Using this window, we can change the selected object’s properties.
How to use VBA Editor?
Example #1 – Adding Modules in Editor
We write all the macro codes inside the module. By default, you do not get to see the module. So first, we need to insert the module.
Go to Insert > Module.
As soon as you click on “Module,” you can see the newly created module under the worksheet project tool.
As soon as you insert the module, you can see the white blank window on the right-hand side, called the “Code” window. In this window, we write all the codes.
It is the basic and much-needed introduction to the Visual Basic Editor (VBE).
Note: If you do not see all the options at first go, there is nothing to panic about here because you can enable and disable it at any time under the “View” menu.
Example #2 – Working with Properties Window
One simple introduction you need here is how to work with the “Properties” window. Using this window, we can change the properties of the objects here.
For example, if you want to change the worksheet’s name, you can change it here.
Similarly, you can change the module name as well.
It is the general overview of the Visual Basic Editor window. The more you use it, you will slowly get to know the window.
Recommended Articles
This article has been a guide for the VBA Editor. Here, we learn how to open the Excel VBA Editor and use it, including the menu bar, toolbar, project, and properties window with descriptions. You may learn more about Excel VBA from the following articles: –
- VBA Update Screen
- VBA UserForm
- VBA Block Comment
- VBA JOIN
Разделение окна
Иногда нужно разделить один и тот же файл кода на две части и просматривать одновременно в разных окнах. Можете разделить активное окно редактора на верхнюю и нижнюю части с помощью линии разбивки (splitter bar). Эти окна можно прокручивать независимо друг от друга и отображать в них содержимое одного и того же файла в одно и то же время.
Для того чтобы разделить окно редактора кода, выберите команду Split из меню Window. В качестве альтернативы можно перетащить метку манипулятора (расположенную прямо над панелью вертикальной прокрутки), в позицию, где должна располагаться линия разбивки.
Чтобы настроить размеры каждого окна, достаточно передвинуть линию разбивки вверх или вниз. Удалить линию разбивки просто: дважды щелкните на ней или выберите команду Remove Split из меню Window.
Виды VB
Рассматривая Basic типа Visual, нужно понимать – у него существуют разновидности. В зависимости от выбранного варианта программист будет решать те или иные задачи. Поэтому перед непосредственным написанием Бейсик программы, нужно определиться, чем именно пользоваться.
Классика
Basic Classic – классический VB. Он ориентирован на разработку приложений под Windows. Используется преимущественно как инструмент написания строк кода для соответствующей операционной системы. Предусматривает широкий спектр возможностей и инструментов, ориентированных на программирование под Windows.
Сюда относят:
- просмотр переменных и структур практически моментально;
- встроенный отладчик;
- отдельное удобное окно отладки;
- всплывающие подсказки.
Classic не пишется в отличных от изначальной средах разработки.
VBA
Аналог предыдущего варианта, но направленный на то, чтобы пользователь мог создать макросы и прикладные утилиты для уже имеющихся приложений. Получил достаточно широкое распространение. Такой результат получен за счет совместимости с MS Office.
VBA позволяет написать несколько строк для автоматического выполнения различных задач. Используется даже в 2022 году, но из-за отсутствия достаточно контроля безопасности применение чужих макросов может быть опасно. Это связано с образованием макровирусов.
VBScript
Урезанный вариант Classic. Такой Basic является скриптовым. Он подходит для администрирования на базе Windows. Активно применяется для создания страниц ASP и всевозможных сценариев под IE.
Basic .NET
Вариант, появившийся после версии 6.0 классического VB. Совершенно новый вектор развития от Microsoft. Ориентирован на работу с платформой .NET. Он:
- использует в работе библиотеку классов из .НЕТ;
- имеет объектно-ориентированную парадигму;
- обладает полиморфизмом и строгой типизацией.
Позволяет создавать крупномасштабные проекты с минимальным количеством строк исходного кода. Полученные на выходе утилиты отличаются скоростью работы, но они все равно уступают софту, составленному на C++ или C#.