Самоучитель по Excel VBA
Данный учебник является введением в язык программирования Excel VBA (Visual Basic for Applications). Изучив VBA, Вы сможете создавать макросы и выполнять в Excel практически любые задачи. Вы очень скоро поймёте, что макросы могут сэкономить уйму времени благодаря автоматизации повторяющихся задач и обеспечить гибкое взаимодействие с другими пользователями.
- Часть 1: Оформление кода
- Часть 2: Типы данных, переменные и константы
- Часть 3: Массивы
- Часть 4: Процедуры Function и Sub
- Часть 5: Условные операторы
- Часть 6: Циклы
- Часть 7: Операторы и встроенные функции
- Часть 8: Объектная модель Excel
- Часть 9: События в Excel
- Часть 10: Ошибки VBA
- Примеры по VBA
Более подробное описание по Excel VBA можно найти на сайте Microsoft Office.
Источник: office-guru.ru
VBA История, перспективы, достоинства и недостатки
Программа vba что это такое
ActiveCell.Value .
2.2. Описание данных
Все объекты, которыми оперирует язык программирования VВА, относятся к определенному типу.
Тип данных определяет:
– область возможных значений переменной;
– структуру организации данных;
– операции, определенные над данными этого типа.
Типы данных подразделяются на простые (скалярные) и сложные (структурированные). У простых типов данных возможные значения данных едины и неделимы. Сложные же типы имеют структуру, в которую входят различные простые типы данных. Скалярные типы данных представлены в таблице 2.1.
Таблица 2.1. Скалярные типы VBA
Имя типа
Русское
название типа
Возможные значения
Источник: dpivi.ru
Что такое VBA? Что такое макросы VBA? Что такое надстройки?
На страницах этого сайта вы найдете ответы на вопросы «Что такое VBA?», «Что такое макросы VBA?», «Что такое надстройки?», а также найдете учебные примеры и готовые макросы и надстройки , позволяющие сделать вашу работу на компьютере более комфортной. И более того, сами научитесь основным действиям, необходимым для работы с макросами и надстройками, такими как запись, просмотр, редактирование, копирование, удаление и так далее.
Что такое VBA?
Итак, VBA – это сокращение от слов Visual Basic for Applications. VBA – это слегка упрощенная версия языка программирования Visual Basic, которую поддерживают приложения Microsoft Office.
Кроме того VBA встраивается и в другие программные продукты, такие как AutoCAD, SolidWorks, CorelDRAW, 3D Studio Max, и многие другие. Особенностью VBA является удобство при первом знакомстве с программированием, так как в наиболее используемых приложениях Microsoft Office имеется редактор VB (Visual Basic Editor), а также макрорекордер – средство кодирования действий пользователя для последующего их повторения. Кроме того, эти инструменты можно с успехом использовать для самостоятельного обучения программированию, «записывая» многие свои действия с помощью макрорекордера, а затем просматривая и корректируя результирующий код.
Что такое VBA
Что такое макросы VBA?
Таким образом, последовательности команд, записанных с помощью макрорекордера, либо вручную в редакторе VB, называются макрокомандами, либо сокращенно – просто макросами. Макрос VBA — это макрос, написанный на языке Visual Basic for Applications. Применительно к тематике программных приложений под словом макрос всегда имеется в виду макрокоманда.
При помощи макросов можно создавать пользовательские меню, диалоговые окна, а также панели инструментов, которые могут существенно изменить интерфейс всем известных приложений Word и Excel.
Что такое надстройки?
Надстройки – это программы, добавляющие в приложения дополнительные возможности.
Говоря обычным языком, надстройка – это особого типа файл, в котором могут содержаться различные сведения о константах, макросах, пользовательских формах и т.д. Надстройка — это также удобный способ хранения и распространения программного кода макроса (макросов). Файлы надстроек для Excel, имеют как правило расширения .xla/.xlam, надстройки для Word представляют собой глобальные шаблоны и имеют расшерения .dot/.dotm. Для PowerPoint — это pptm-файлы.
Редактор Visual Basic – не только средство редактирования кода, но и средство отладки кода, так как дает пользователям возможность в интерактивном режиме проверить действие любой синтаксической конструкции.
Если Вы попали на страницы этого сайта, то скорее всего Вы уже знакомы с тем, что такое MS Office в целом и MS Excel в частности. Остановимся на наиболее популярных приложениях пакета — Word и Excel, так как именно для этих приложений уже существует наибольшее количество готовых макросов и надстроек, но программирование можно использовать и в других приложениях пакета.
Microsoft Word – один из наиболее популярных текстовых редакторов, который позволяет набирать, редактировать, форматировать и распечатывать текст.
Microsoft Excel – наиболее популярное приложение для работы с таблицами и табличными данными, совмещающая в себе систему обработки числовых данных, средства для построения диаграмм и обработки электронных таблиц.
Проще говоря, Excel – это удобная табличная форма с возможностями калькулятора, позволяющего выполнять интенсивные расчеты на основе имеющихся данных. О том как работать с этими приложениями написано немало литературы, которую можно найти и на просторах интернета и на полках книжных магазинов. Если же Вы уже освоили стандартные возможности офисных приложений и посчитали, что этого недостаточно для решения Ваших задач, то давайте перейдем к вопросам «Что такое VBA?», «Что такое Макросы?», «Что такое надстройки» и «Как всем этим пользоваться?». Конечно, и Word, и Excel предоставляют достаточно широкий набор функций для выполнения самых разнообразных задач, но все же знание и использование макросов VBA дает такие преимущества, которые невозможно переоценить.
Для чего нужны макросы и надстройки?
Не секрет, что компьютеры гораздо лучше людей приспособлены для выполнения повторяющихся задач, поэтому использование макросов существенно увеличивает скорость и значительно повышает точность работы. Использование макросов является настоящим спасением от часто повторяющейся, рутинной работы, с которой каждый, наверное, хоть раз да сталкивался. Не буду пытаться обучить Вас тонкостям написания макросов, сделаю с Вами только самые первые шаги в этом направлении и скажу, что уже многие умные головы посвятили этому свои интернет-сайты, книги и различные самоучители и что, как говорится, «не так страшен черт, как его малюют» )). При определенных усилиях Вы сможете самостоятельно записать макросы либо даже написать свои собственные процедуры, а на этом сайте вы сможете найти достаточное количество готовых решений, если не хотите тратить свое время на то, чтобы разбираться в основах программирования в VBA.
Другие материалы по теме:
- Состав MS Office
- Что такое VBE? Как запустить редактор VB? Что такое макрорекордер?
- Создание и написание макросов. Как установить макрос на свой компьютер?
- Как сохранить программный код макроса? Что такое модули?
- Как импортировать модуль с макросом на свой компьютер?
Источник: macros-vba.ru
Visual Basic
Microsoft Visual Basic — язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемые корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно-ориентированных и компонентно-ориентированных языков программирования. Интегрированная среда разработки VB включает инструменты для визуального проектирования пользовательского интерфейса, редактор кода с возможностью IntelliSense и подсветкой синтаксиса, а также инструменты для отладки приложений.
Visual Basic также является хорошим средством быстрой разработки (RAD) приложений баз данных для операционных систем семейства Microsoft Windows. Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес-логику бизнес-приложения, не отвлекая его внимание на написание кода запуска программы, подписки на события и других механизмов, которые VB реализует автоматически.
Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3. Окончательное признание как полноценного средства программирования для Windows — при выходе версии 5. Версия VB6, входящая в состав Microsoft Visual Studio 6.0, стала по-настоящему зрелым и функционально богатым продуктом.
- 1 История развития
- 2 Элементы языка
- 2.1 Типы данных
- 2.2 Операторы
- 2.3 Управляющие конструкции
- 2.3.1 Оператор ветвления
- 2.3.2 Оператор выбора
- 2.3.3 Цикл со счётчиком
- 2.3.4 Совместный цикл
- 2.3.5 Цикл с условием
- 2.3.6 Цикл с постусловием
- 8.1 ActiveX (Элементы управления OCX)
- 8.2 Windows API (Прикладной интерфейс программирования)
- 9.1 Достоинства
- 9.2 Недостатки
- 9.3 Критика
- 10.1 Visual Basic for Applications (VBA)
- 10.2 Visual Basic Scripting Edition (VBScript)
- 10.3 eMbedded Visual Basic (eVB)
Источник: wiki2.org
Принципы разработки приложений на VBA
Аннотация: Редактор Visual Basic позволяет записывать, сохранять и модифицировать программные модули, выполнять и отлаживать программы, связанные с документами MS Office.
15.1. Среда разработки – редактор Visual Basic
Независимо от приложения в редактор VB можно перейти:
- нажав кнопку Visual Basic в группе Код вкладки Разработчик;
- с помощью функциональных клавиш Alt-F11.
Возврат в офисный документ из редактора Visual Basic выполняется:
- последней командой меню View, которая указывает на название офисного приложения, например, командой Microsoft Excel;
- нажатием на первую кнопку стандартной панели инструментов Visual Basic, определяющую приложение;
- клавишами Alt-F11 или Alt-Q.
Окна редактора VB
Основные компоненты разработки, отладки и запуска программ – это окна редактора VB. На рис.15.1 показан вид среды разработки MS Excel. Среда разработки в других офисных приложениях выглядит примерно так же.
Рис. 15.1. Окно редактора VBA
Project Window (окно проекта)
Программные компоненты документа (модули, процедуры, формы) объединяются в проект, который сохраняется на диске вместе с документом MS Office.
Проект на VBA нельзя создать независимо от документа. Каждому документу соответствует проект с именем, состоящим из двух частей: первая часть – VBAProject для MS Excel и MS PowerPoint и Project для MS Word, вторая часть – название документа в скобках. Подобное имя присваивается проекту по умолчанию.
Основное предназначение окна проекта (рис.15.1 и рис.15.2) – обеспечение навигации в проекте. Проект имеет иерархическую структуру, представляющую в виде папок все составляющие проекта: модули (Modules), формы (Forms), объекты приложения (например, Microsoft Excel Objects для MS Excel), пользовательские классы (Classes) и ссылки на другие проекты (References).
Показать окно проекта можно при помощи:
- нажатия на кнопку стандартной панели инструментов VBA;
- команды Project Explorer меню View;
- клавиш Ctrl+R.
Рис. 15.2. Окно проекта
Окно кода программы (Code)
В окне кода программы (рис.15.3) отображаются тексты процедур объекта, выделенного в окне проекта. Программа, управляющая объектом проекта, располагается на связанном с объектом процедурном листе, называемом «модуль – обработчик событий». Программы, не связанные с конкретными объектами, располагаются в стандартных модулях папки проекта Modules. В дальнейшем будем использовать термин «модуль», имея в виду, что все сказанное распространяется на модуль – обработчик событий и на стандартный модуль, если иное не оговорено особо.
- двойным щелчком на элемент в окне проекта;
- командой Code из меню View или нажатием клавиши F7 после выделения элемента проекта.
Редактор программ позволяет просматривать и редактировать процедуры модуля. Процедура – это последовательность операторов языка, начинающаяся с оператора Sub и заканчивающаяся оператором End Sub. Все операторы, заключенные между этими двумя операторами, составляют тело процедуры. Дополнительно к процедурам в начале модуля могут располагаться инструкции компилятору, операторы объявления глобальных и модульных переменных или переменных пользовательских типов.
В окне программы может отображаться текст одной процедуры (procedure view) или текст модуля целиком (full-module view). Переключение режимов просмотра выполняется нажатием соответствующей кнопки в левом нижнем углу окна программы (рис.15.3).
Вверху окна программы расположены два списка: список объектов слева и список процедур справа. Содержание списков зависит от типа объекта, для которого высвечено окно программы.
Рис. 15.3. Окно кода программы
Если это стандартный модуль, то список объектов содержит только одну строку – General, а список процедур – строку Declarations и перечень процедур модуля.
Выбор строки Declarations переводит в раздел объявления переменных, в котором располагаются инструкции компилятору и описания переменных, общих для всех процедур модуля или проекта в целом.
Если окно программы отображает процедурный лист для формы или объекта документа (рис.15.3), то дополнительно к строке General список объектов содержит перечень объектов внутри выбранной формы или объекта документа. При выделении объекта в списке справа отражается перечень событий, связанных с выделенным объектом. На рис.15.3 в окне программы, открытом для рабочей книги, в списке объектов выделен объект Listbox с именем lst_sheet, и для него открыт перечень событий.
В отличие от текстовых редакторов редактор кода программы (или просто редактор кода) не только отображает вводимый текст, но и автоматически вносит изменения. Настройка окна редактора кода выполняется на вкладке Editor команды Tools-Options (рис.15.4).
- изменяет написание ключевых слов, устанавливая прописную букву в начале слова;
- проверяет синтаксис операторов;
- высвечивает подсказку по функциям, свойствам и методам объекта;
- меняет цвет слов для команд, комментариев, синтаксических ошибок в соответствии с установками, сделанными на вкладке Editor Format.
Текст (код) программы можно создать в любом текстовом редакторе и вставить его в модуль, используя команды копирования и вставки.
Рис. 15.4. Возможности настройки редактора VBA
Окно свойств объектов (Properties Window)
Свойство – это некий атрибут объекта, например, его название. Окно свойств вызывается командой Properties меню View или нажатием на пиктограмму . Окно свойств высвечивает и позволяет изменять свойства объекта, выделенного в окне проекта или в окне формы. Если выделен стандартный модуль или проект, то в окне свойств отображается его единственное свойство – Name (имя). Если же выделен, например, объект Userform, то в окне свойств (рис.15.5) показана таблица с перечнем его свойств.
Рис. 15.5. Окно свойств объекта UserForm
Свойства можно просматривать в алфавитном порядке (вкладка Alphabetic) или с группировкой по категориям (вкладка Categorized ).
Свойства объектов можно изменять в режиме конструктора (Design time) или в режиме выполнения программы (Run time). Некоторые свойства объектов можно менять в любом режиме, а отдельные свойства подлежат изменению только в режиме конструктора или только в режиме выполнения программы. Если свойства объектов меняются только в режиме выполнения, то они никогда не видны в окне свойств объекта.
Остальные окна редактора Visual Basic, перечисленные ниже, рассматриваются в разделах, которые связаны с высвечиванием информации в них:
- Object Browser – окно просмотра объектов, их методов и свойств, доступных в разных библиотеках, модулях и пользовательских приложениях;
- Immediate Window, Locals Window, Watch Window – окна отладчика, предназначенные для изменения значений переменных и тестирования операторов, для отслеживания значений переменных, для наблюдения за ходом выполнения программы в процессе отладки.
Источник: intuit.ru