Vba excel для чайников - IT Справочник
Llscompany.ru

IT Справочник
7 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba excel для чайников

VBA Excel. Начинаем программировать с нуля

Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.

Знакомство с редактором VBA

  1. Создайте новую книгу Excel и сохраните ее как книгу с поддержкой макросов с расширением .xlsm. В старых версиях Excel по 2003 год – как обычную книгу с расширением .xls.
  2. Нажмите сочетание клавиш «левая_клавиша_Alt+F11», которое откроет редактор VBA. С правой клавишей Alt такой фокус не пройдет. Также, в редактор VBA можно перейти по ссылке «Visual Basic» из панели инструментов «Разработчик» на ленте быстрого доступа. Если вкладки «Разработчик» на ленте нет, ее следует добавить в настройках параметров Excel.

В левой части редактора VBA расположен проводник проекта, в котором отображены все открытые книги Excel. Верхней строки, как на изображении, у вас скорее всего не будет, так как это – личная книга макросов. Справа расположен модуль, в который записываются процедуры (подпрограммы) с кодом VBA. На изображении открыт модуль листа, мы же далее создадим стандартный программный модуль.

  1. Нажмите кнопку «Module» во вкладке «Insert» главного меню. То же подменю откроется при нажатии на вторую кнопку после значка Excel на панели инструментов.

После нажатия кнопки «Module» вы увидите ссылку на него, появившуюся в проводнике слева.

Первая программа на VBA Excel

Добавляем на стандартный модуль шаблон процедуры – строки ее начала и завершения, между которыми мы и будем писать свою первую программу (процедуру, подпрограмму).

  1. Откройте стандартный модуль двойным кликом по его ссылке в проводнике. Поместите в него курсор и нажмите кнопку «Procedure…» во вкладке «Insert» главного меню. Та же ссылка будет доступна при нажатии на вторую кнопку после значка Excel на панели инструментов.

В результате откроется окно добавления шаблона процедуры (Sub).

  1. Наберите в поле «Name» имя процедуры: «Primer1», или скопируйте его отсюда и вставьте в поле «Name». Нажмите кнопку «OK», чтобы добавить в модуль первую и последнюю строки процедуры.

Имя процедуры может быть написано как на латинице, так и на кириллице, может содержать цифры и знак подчеркивания. Оно обязательно должно начинаться с буквы и не содержать пробелы, вместо которых следует использовать знак подчеркивания.

  1. Вставьте внутрь шаблона процедуры следующую строку: MsgBox «Привет» .

Функция MsgBox выводит информационное сообщение с указанным текстом. В нашем примере – это «Привет».

  1. Проверьте, что курсор находится внутри процедуры, и запустите ее, нажав клавишу «F5». А также, запустить процедуру на выполнение можно, нажав на треугольник (на изображении под пунктом меню «Debug») или на кнопку «Run Sub/UserForm» во вкладке «Run» главного меню редактора VBA Excel.


Если вы увидели такое сообщение, как на изображении, то, поздравляю – вы написали свою первую программу!

Работа с переменными

Чтобы использовать в процедуре переменные, их необходимо объявить с помощью ключевого слова «Dim». Если при объявлении переменных не указать типы данных, они смогут принимать любые доступные в VBA Excel значения. Комментарии в тексте процедур начинаются со знака «’» (апостроф).

Пример 2
Присвоение переменным числовых значений:

Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник (Евгений Матвеев)

Для самостоятельного изучения языка Visual Basic, позволяет без помощи преподавателя, «с нуля» разобраться в основах программирования и научиться создавать полноценные приложения для Windows. Большое количество информации о Visual Basic также даёт возможность использовать книгу и в качестве справочника.

Оглавление

  • Введение
  • Глава 1. Установка Visual Basic на компьютер пользователя
  • Глава 2. Знакомство с Visual Basic
  • Глава 3. Использование мастеров
  • Глава 4. Операторы и выражения
  • Глава 5. Условные переходы и циклы
  • Глава 6. Процедуры и функции
  • Глава 7. Типы данных, переменные и константы

Приведённый ознакомительный фрагмент книги Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник (Евгений Матвеев) предоставлен нашим книжным партнёром — компанией ЛитРес.

© Евгений Матвеев, 2016

Создано в интеллектуальной издательской системе Ridero

О чЁм эта книга?

Книга представляет собой пошаговый самоучитель по программированию на языке Microsoft Visual Basic версии 6.0, с последовательным изучением всех основных компонентов языка Visual Basic и элементов управления Windows, которые в нём используются.

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

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

Прочитав эту книгу, вы научитесь:

• устанавливать Microsoft Visual Basic 6.0 на свой компьютер,

• пользоваться всеми основными возможностями среды программирования,

• находить нужную информацию в справочной системе,

• оперировать свойствами и методами объектов Windows,

• программировать различные внешние устройства,

• писать сетевые приложения для работы в Интернете,

• проектировать свое собственное приложение,

• разрабатывать его интерфейс,

• создавать исходный текст программы,

• отлаживать программу и находить в ней ошибки,

• компилировать код программы в исполнимый файл,

• создавать инсталляцию готового приложения,

• распространять свои программы через Интернет,

• …и многому другому!

Простой и доступный стиль изложения материала рассчитан на студентов, преподавателей и других лиц, желающих самостоятельно освоить принципы современного визуального проектирования приложений на языке Visual Basic.

Большая часть информации, содержащейся в этой книге, пригодится вам также и в других целях, не связанных напрямую с изучением Visual Basic:

• для лучшего понимания принципов работы операционной системы Microsoft Windows,

• изучения основ программирования вообще,

• написания программ на других диалектах языка Basic.

История появления языка Visual Basic

Почти сразу же после появления электронных вычислительных машин (ЭВМ), в 50-х годах ХХ века были разработаны первые языки программирования для управления вычислительным процессом.

Они были крайне сложны, специализированы для конкретных моделей ЭВМ и предназначались для создания управляющих программ, решающих сложные математические задачи.

По мере распространения ЭВМ возникла необходимость упрощения языка взаимодействия человека с машиной, в результате чего в Dartmouth College был создан язык программирования BASIC. Это название являлось аббревиатурой, а полное наименование этого языка звучало как Beginner’s All-purpose Symbolic Instruction Code (универсальный символьный программный код для начинающих). В то же время слово Basic переводится с английского как «базовый», «основной». Как бы то ни было, прижился именно короткий вариант названия.

Поначалу Basic был очень простым языком программирования, так как предназначался для обучения. Именно из-за своей простоты и компактности он был выбран в качестве языка для первых микрокомпьютеров серии Альтаир (Altair), выпущенных в 1975 году и имеющих всего 4 кб оперативной памяти. Разрабатывали интерпретатор языка основатели корпорации Microsoft – Билл Гейтс (Bill Gates) и Пол Аллен (Paul Allen).

Когда появились персональные компьютеры фирмы IBM, был создан интерпретатор Microsoft GW-Basic, работающий под управлением операционной системы DOS. У интерпретатора GW-Basic имелся интерфейс командной строки и занимал он менее 100 кб оперативной памяти компьютера.

Следующим шагом в развитии языка Basic для DOS было появление двух компиляторов: Microsoft QuickBasic и Borland TurboBasic. Они оба отличались более удобным оконным интерфейсом, наличием текстового редактора для написания программ, системы отладки и возможностью генерации выполнимых exe-файлов.

Через несколько лет после появления операционной системы Microsoft Windows, в 1991 году был создан Microsoft Visual Basic for Windows версии 1.0. Это был революционный шаг в развитии языка, так как теперь отпала необходимость в скурпулезном программировании интерфейса приложений – достаточно было нарисовать его.

В дальнейшем развитие языка шло в направлении совершенствования Microsoft Visual Basic for Windows, которое было связано, в основном, с добавлением новых инструментальных средств и расширением поддержки работы с объектами операционной системы Windows, а также прикладными программами, прежде всего – с пакетом Microsoft Office.

Читать еще:  Excel недостаточно места на диске

Отличительные особенности Visual Basic

Читатели, которые даже немного знакомы хотя бы с одним классическим языком программирования, в котором не предусмотрены визуальные средства проектирования приложений, особенно сильно почувствуют разницу между обычными системами программирования, включая другие диалекты языка Basic, и современным Visual Basic.

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

Создание объектов интерфейса: окон, кнопок, полей ввода, флажков и т. п., с помощью Visual Basic не представляет большого труда и напоминает рисование в графическом редакторе. После этого остается лишь написать подпрограммы, связанные с этими объектами.

Существенное отличие Visual Basic от QuickBasic, TurboBasic и других диалектов языка Basic для DOS, заключается в том, что в него встроена поддержка работы с объектами Windows, а также предоставлена возможность использования любых функций операционной системы.

Исходный текст программы Visual Basic может считывать и обрабатывать построчно, сразу же выполняя операторы языка, то есть, функционировать как интерпретатор.

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

Работа в среде Visual Basic очень комфортна, чему способствует наличие большого количества мастеров, многоуровневой справочной системы и удобных средств отладки приложений.

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

Редакции Visual Basic

Фирма Microsoft выпускает Visual Basic 6.0 в нескольких редакциях, которые различаются своими возможностями, поставляемой документацией и, конечно же, своей стоимостью:

Learning Edition (Учебная редакция) – включает основные возможности по созданию приложений и базовый набор элементов управления,

Professional Edition (Профессиональная редакция) – содержит больше инструментов и вспомогательных средств разработки, а также ряд дополнительных элементов управления,

Enterprise Edition (Промышленная редакция) – предназначено для разработчиков корпоративных систем и клиент-серверных приложений, поэтому охватывает все аспекты создания и поддержки больших баз данных, базирующихся на различных технологиях.

Несмотря на имеющиеся отличия, все редакции языка программирования Visual Basic, имеют много общего в среде разработки и совсем не отличаются по своему синтаксису, поэтому практически идентичны между собой для начинающего программиста.

Visual Basic 6.0 Enterprise Edition, какой мы будем рассматривать в этой книге, поставляется не отдельно, как это было в предыдущих версиях, а в составе интегрированного пакета Microsoft Visual Studio 6.0, предназначенного для разработчиков программного обеспечения.

В этот пакет входит, кроме Microsoft Visual Basic еще и Microsoft Visual C++, Microsoft Visual FoxPro, а также ряд других вспомогательных программ и компонентов.

Теперь рассмотрим основные обозначения, принятые в данной книге, которые помогут вам свободно в ней ориентироваться.

Списки, в которых перечисляются какие-либо понятия, выглядят так:

• элемент списка 1,

• элемент списка 2,

Если вам нужно выполнить практическое действие для получения определенного результата, то это будет выглядеть примерно так:

Сделайте это… На экране появится следующее…

Названия клавиш, которые придется нажимать на клавиатуре, заключены в квадратные скобки и выделены жирным шрифтом, например: [F1]. Комбинации клавиш, нажимаемые одновременно, содержат между собой знак «плюс», например: [Ctrl] + [Break].

Последовательно выбираемые мышью пункты меню разделены знаком «дефис», а в скобках приводится их перевод на русский язык: File – Open… (Файл – Открыть…).

Названия программ в тексте выглядят таким образом: Microsoft Visual Basic.

Исходные тексты программ, которые придется набирать на клавиатуре вручную, отделены от остального текста пустыми строками и выделены жирным шрифтом, например:

Знакомство с программированием в Excel

Добавление на ленту вкладки разработчика

Написание кода Ваших процедур и редактирование макросов производится в редакторе Visual Basic, который доступен с вкладки «Разработчик». Данная вкладка по умолчанию скрыта. Для ее отображения необходимо выполнить следующие действия:

Для Excel 2007. Зайдите в параметры Excel, используя кнопку Office, и в «основных параметрах работы с Excel» установите галочку на пункте «Показывать вкладку Разработчик на ленте».

Для Excel 2010 и 2013. В параметрах Excel нужно выбрать пункт «Настроить ленту» и в категории основные вкладки установить галочку для вкладки «Разработчик».

Знакомство с редактором Visual Basic в Excel

Чтобы попасть в редактор кода, кликните на вкладке разработчика в области «Код» по кнопке «Visual Basic».

После этого на экране появится новое окно редактора VBA. Рассмотрим ниже некоторые его элементы, которые могут понадобиться в самом начале.

№1 на изображении. Кнопка сохранить. Сохраняет текущую книгу Excel. Необходимо быть внимательнее при работе с несколькими книгами, так как текущей считается та, которая выделена в окне проектов (№3 на изображении).

№2 на изображении. Кнопки запуска, остановки и прерывания выполнения кода. Во время запуска начинает выполняться код той процедуры, на которой размещен курсор. Данные кнопки дублируются вкладкой «Run» основного меню редактора.

№3 на изображении. Окно управления проектами VBA открытых книг (Project Explorer) и кнопка, отображающая это окно.

№4 на изображении. Кнопка, отображающая окно свойств объектов (Properties Window), выбранных в окне №3, и элементов пользовательских форм (работа с объектами, их свойствами и методами будет рассмотрена в отдельной статье этой категории).

№5 на изображении. Кнопка вызова окна объектов (Object Browser). В нем описаны все доступные для работы объекты, их свойства и методы.

Кнопки №3, №4 и №5 так же доступны на вкладке «View» главного меню редактора. Там же можно вызвать другие полезные для работы окна, которые не будут рассмотрены в этом материале.

Написание простой процедуры на Visual Basic for Application

Код любой процедуры (подпрограммы) располагается в модуле, поэтому необходимо его добавить, чтобы приступить к программированию. Выберите пункт «Module» на вкладке «Insert» основного меню редактора VBA. В основной области редактора (на изображении имеет серый фон) должно появиться новое окно кода – Имя_книги – имя_модуля (Code), а в окне управления проектами (№3) к дереву выбранного проекта добавится вновь созданный модуль.

Добавьте в модуль следующий код:

Данная процедура выводит на экран диалоговое окно с сообщением «Привет пользователь!». Протестируйте ее работу, нажав кнопку Rub Sub (№2 на изображении) или вызвав как обычный макрос.

Теперь более подробно разберем приведенный код.

Любая процедура начинается со строки объявления, состоящей из оператора Sub (сокращение от Subprogram), после которого следует имя подпрограммы. За именем следует перечень аргументов, заключенный в скобки.

Для имени действуют некоторые ограничения: оно должно начинаться с буквы и не должно содержать пробелы и большинство спецсимволов.

В этом примере аргументы не используются, поэтому указываются пустые скобки.

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

Последняя строка содержит оператор End с последующим ключевым словом Sub и сообщает о завершении процедуры.

Учимся пользоваться Object Browser

Выше была упомянута функция MsgBox, но ее возможности полностью не рассмотрены. Это хороший случай, чтобы научиться использовать браузер объектов (№5 на изображении окна редактора VBA).

Нажмите кнопку на панели или клавишу F2, чтобы отобразить Object Browser:

Выпадающий список №1 содержит перечень всех подключенных библиотек. Используйте его только в том случае, если точно знаете, к какой библиотеке относится изучаемый класс, функция и т.д. (подключить или отключить любую из доступных библиотек можно, выбрав пункт «References» на вкладке «Tools» главного меню редактора VBA).

Примечание: Библиотеки предоставляют стандартные и дополнительные возможности работы с объектами Excel (ячейки, листы, книги и т.д.), файловой системы, изображениями, базами данных и другими.

Поле №2 предназначено для поиска свойств, методов, классов подключенных библиотек.

Результаты поиска отображаются в поле №3 и представляют из себя таблицу с тремя столбцами: библиотека, класс и член класса.

Поле №4 содержит перечень всех классов, выбранных в поле №1 библиотек.

Читать еще:  Как в excel обозначить столбцы буквами

В области №5 содержится список всех членов класса, выбранного в поле №4.

Поле №6 содержит краткую справку о выделенном результате поиска, классе или члене класса.

Примечание: библиотеки, классы, функции и процедуры (методы), свойства и т.п. в Object Browser имеют различные обозначения, представленные набором пиктограмм. Краткая справка (поле №6) всегда указывает какой тип элемента выделен. Обращайте на это внимание, чтобы в дальнейшем лучше ориентироваться в работе с объектами.

Примечание: Понятие объекта не относится к теме данной статьи и будет рассмотрено в следующих материалах.

Теперь найдем функцию MsgBox с помощью браузера объектов. В поле поиска (№2) впишите ее название и кликните по кнопке с изображением бинокля. В поле результатов поиска выделите строку со значением MsgBox в столбце «Member». В поле №6 появилась краткая информация, сообщающая нам, что выбранный член является функцией, имеет перечень аргументов, возвращает результат типа VbMsgBoxResult, относиться в классу Interaction библиотеки VBA.

Для получения полной справки кликните по кнопке с изображением вопросительного знака. В зависимости от версии Excel, Вас перенаправить на файл справки или сайт с документацией от Microsoft.

Изучите самостоятельно возможности функции MsgBox.

Ссылка на процедуру VBA

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

Для лучшего понимая рассмотрим пример (в примере используется псевдокод):

Выносите дублирующие участки кода в отдельные процедуры и указывайте ссылки на них из главной процедуры:

Для указания ссылки на процедуру используется оператор Call, который состоит из необязательного ключевого слова Call и имени вызываемой подпрограммы:

VBA для чайников

Эта книга поможет освоить интегрированную среду разработки VBA и научиться программировать в VBA с использование объектов, их свойств, методов и событий. Обсуждаемые приемы программирования иллюстрируются примерами, которые можно сразу же опробовать на практике. Полученные знания вы сможете применить как для настройки и усовершенствования популярный офисных приложений, включая приложения Office XP, так и для создания собственных приложений.

Книга рассчитана на тех, кто собирается быстро и без лишних усилий научиться программировать для Windows, используя VBA.

Стив Каммингс — VBA для чайников 1

Часть I Начальные сведения о VBA 2

Часть II Курс программирования на YBA 23

Часть III Практикуемся в программировании на VBA 60

Часть IV Профессиональная работа c VBA 77

Часть V Великолепные десятки 99

Стив Каммингс — VBA для чайников

Введение

Об авторе.

Стив Кяммингс занимается программированием больше 20 лет, используя такие разные языки программирования, как ассемблер, COBOL и C++, а также VBA и Visual Basic. Он автор и соавтор более десятка компьютерных книг, среди которых и книга Секреты Office 97, выпушенная издательством Диалектика. Кроме того, ему принадлежат сотни статей, опубликованных в известных компьютерных журналах, в том числе PC World, Macworld, PC Magazine, PC/Computing и PC Week.

Посвящение

Моей бабушке по поводу 97-летия

Благодарности

Спасибо всем сотрудникам издательства Hungry Minds, а особенно моим редакторам:

Джеймсу Расселу (James Russel), который проявил немало внимания и терпения при работе над настоящей книгой, а также Джейд Вильяме (Jade Williams) и Кэлли Оливер (Kelly Oliver).

Я благодарен компании VCommunications () за предоставление таких программных продуктов, как System Commander и Partition Commander. Это замечательные утилиты для настройки работы нескольких операционных систем на одном компьютере, что мне требовалось при работе с beta-версиями Microsoft Office XP. Также спасибо Лизе Роббинс (Lisa Robbins) из компании Waggener Edstrom, подразделения компании Microsoft, за помошь при знакомстве с нюансами новой версии VBA, а также за предоставление пробных версий программных продуктов компании Microsoft, необходимых мне при работе.

Начинаем.

Да, это именно та книга, которая необходима для того, чтобы начать освоение VBA (аббревиатура от Visual Basic for Applications, что означает Visual Basic для приложений).

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

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

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

О чем эта книга

Вы, наверное, уже знаете, что VBA — это язык программирования, встроенный во множество программ, от приложений Microsoft Office, Microsoft Project, Visio и AutoCAD до многочисленных специализированных приложений, предназначенных для управления производственными процессами, учета финансовых ресурсов или информационной поддержки клиентов.

В этой книге рассмотрены все существенные аспекты программирования в VBA. Здесь вы найдете достаточно полную информацию по следующим темам:

* использование преимуществ визуальных средств программирования VBA;

* запись и редактирование макросов;

* запуск VBA-программ из других приложений;

* создание приятных на вид диалоговых окон и других элементов интерфейса;

* работа с объектами, которая станет ключом к использованию всей силы VBAt приложений.

В настоящей главе рассмотрены версии VBA с версии 6 по 6.3 (VBA6.3 входит в состав приложений Microsoft Office ХР). Согласно данным компании Microsoft, все версии VBA, начиная с версии 6 и заканчивая версией 6.3, с точки зрения программиста совершенно идентичны.

Компания Microsoft исправила некоторые ошибки, улучшила производительность, но способы написания программного кода или создания диалоговых окон не изменились. Поэтому, когда я говорю о VBA б, это касается как VBA 6.0 и VBA 6.3, так и всех промежуточных версий.

Не следовало бы делать предположений.

Но я все же сделаю. Я предполагаю, что вы не такой уж и чайник, наоборот, думаю, вы должны весьма комфортабельно чувствовать себя в Windows. Поэтому, если вы не знаете, как обращаться с мышью, выбирать из меню и щелкать на кнопках, появляющихся на экране вашего монитора, вам имеет смысл предварительно прочитать одну из книг, выпущенных издательством Диалектика, например Windows для чайников (есть также отдельные издания по Windows 95, Windows 98, Windows Me и Windows 2000). Далее, чтобы использовать VBA, вы должны иметь по крайней мере одно приложение, в которое встроены средства разработки VBA-программ. Среди таких приложений прежде всего следует назвать лидера рынка программ для бизнеса Microsoft Office, за которым следует постоянно растущая группа продуктов, принадлежащих другим производителям. Изо всех многочисленных возможностей подойдет, например, любое из следующих приложений:

* любое приложение Microsoft Office — Word, Excel, PowerPoint, Access, Outlook или FrontPage;

* CorelDraw версии 9 или 10 и Corel WordPerfect Office 2000;

* серия графических бизнес-приложений iGrafx от Micrografx;

* Visio версий 4.5, 5 или 2000;

* AutoCAD R14, AutoCAD 2000 или AutoCAD 2000i для Windows;

* M.Y.O.B. Accounting Software;

* пакет программ для учета ресурсов Great Plains (некоторые программы из этого пакета понимают VBA);

* Omni Trader, средства оценки рисков и управления торговыми операциями.

Разделяй и властвуй

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

Часть I. Начальные сведения о VBA

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

Читать еще:  Из радиан в градусы в excel

Часть II. Курс программирования на VBA

Редактор Visual Basic является, так сказать, доверенным представителем VBA на экране- здесь вы пишете свои программы, конструируете открываемые этими программами окна и тестируете свои создания, чтобы выяснить причины, по которым они отказываются работать так, как нужно. Об этом я расскажу в первой главе части. Затем я расскажу об использовании переменных. В остальных главах обсуждаются способы контроля того, что происходит при выполнении программы, а также способы выявления и исправления хотя бы части тех ошибок, которые всегда норовят прицепиться к любой программе. Завершим мы материал части II рассмотрением таких вопросов, как создание окон, диалоговых окон и форм, а также приемов программирования, необходимых для этого.

Часть III. Практикуемся в программировании на VBA

Эта часть — сердце книги. Здесь, в сотворенных с любовью главах, я открою вам секреты мира VBA. Первая половина глав этой части систематизирует компоненты VBA-программы и раскрывает структуру этих компонентов, чтобы вы всегда точно знали, что и где вам следует печатать. Далее идет практикум по правильному присвоению имен в VBA и приданию презентабельного вида программному коду. Затем следуют главы, рассказывающие о работе с переменными и объектами, что очень важно при настройке таких приложений, как Word, Excel или CorelDraw. В последней главе мы поговорим о обработке данных, представленных в виде массивов и наборов.

Часть IV. Профессиональная работа с VBA

В главах этой части вы познакомитесь с приемами программирования, которые применимы практически ко всем приложениям Office, например настройка интерфейса пользователя, программирование помощника по Office и многое другое. Затем мы подробно поговорим о программировании для Word и Excel, а также вопросах, представляющих немалый интерес для VBA-программистов, независимо оттого, с какими приложениями они работают.

VBA Excel: примеры программ. Макросы в Excel

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

Что такое VBA

Программирование в Excel осуществляется посредством языка программирования Visual Basic for Application, который изначально встроен в самый известный табличный процессор от Microsoft.

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

Недостатком программы являются проблемы, связанные с совместимостью различных версий. Они обусловлены тем, что код программы VBA обращается к функциональным возможностям, которые присутствуют в новой версии продукта, но отсутствуют в старой. Также к минусам относят и чрезмерно высокую открытость кода для изменения посторонним лицом. Тем не менее Microsoft Office, а также IBM Lotus Symphony позволяют пользователю применять шифрование начального кода и установку пароля для его просмотра.

Объекты, коллекции, свойства и методы

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

Главным из них является Application, соответствующий самой программе Excel. Затем следуют Workbooks, Worksheets, а также Range. Например, для обращения к ячейке A1 на конкретном листе следует указать путь с учетом иерархии.

Что касается понятия «коллекция», то это группа объектов того же класса, которая в записи имеет вид ChartObjects. Ее отдельные элементы также являются объектами.

Следующее понятие — свойства. Они являются необходимой характеристикой любого объекта. Например, для Range — это Value или Formula.

Методы — это команды, показывающие, что требуется сделать. При написании кода в VBA их необходимо отделять от объекта точкой. Например, как будет показано в дальнейшем, очень часто при программировании в «Эксель» используют команду Cells(1,1).Select. Она означает, что необходимо выбрать ячейку с координатами (1,1) т.е. A1.

Вместе с ней нередко используется Selection.ClearContents. Ее выполнение означает очистку содержимого выбранной ячейки.

Как начать

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

Затем необходимо перейти в приложение VB, для чего достаточно воспользоваться комбинацией клавиш «Alt» и «F11». Далее:

  • в строке меню, расположенном в верхней части окна, нажимают на иконку рядом с иконкой Excel;
  • выбирают команду Mudule;
  • сохраняют, нажав на иконку с изображением floppy disk;
  • пишут, скажем так, набросок кода.

Он выглядит следующим образом:

Обратите внимание, что строка «’Наш код» будет выделена другим цветом (зеленым). Причина в апострофе, поставленном в начале строки, который обозначает, что далее следует комментарий.

Теперь вы можете написать любой код и создать для себя новый инструмент в VBA Excel (примеры программ см. далее). Конечно, тем, кто знаком с азами Visual Basic, будет намного проще. Однако даже те, кто их не имеет, при желании смогут освоиться достаточно быстро.

Макросы в Excel

За таким названием скрываются программы, написанные на языке Visual Basic for Application. Таким образом, программирование в Excel — это создание макросов с нужным кодом. Благодаря этой возможности табличный процессор Microsoft саморазвивается, подстраиваясь под требования конкретного пользователя. Разобравшись с тем, как создавать модули для написания макросов, можно приступать к рассмотрению конкретных примеров программ VBA Excel. Лучше всего начать с самых элементарных кодов.

Пример 1

Задача: написать программу, которая будет копировать значение содержимое одной ячейки и затем записывать в другую.

  • открывают вкладку «Вид»;
  • переходят на пиктограмму «Макросы»;
  • жмут на «Запись макроса»;
  • заполняют открывшуюся форму.

Для простоты в поле «Имя макроса» оставляют «Макрос1», а в поле «Сочетание клавиш» вставляют, например, hh (это значит, что запустить программку можно будет блиц-командой «Ctrl+h»). Нажимают Enter.

Теперь, когда уже запущена запись макроса, производят копирование содержимого какой-либо ячейки в другую. Возвращаются на исходную пиктограмму. Нажимают на «Запись макроса». Это действие означает завершение программки.

  • вновь переходят на строку «Макросы»;
  • в списке выбирают «Макрос 1»;
  • нажимают «Выполнить» (то же действие запускается начатием сочетания клавиш «Ctrl+hh»).

В результате происходит действие, которое было осуществлено в процессе записи макроса.

Имеет смысл увидеть, как выглядит код. Для этого вновь переходят на строку «Макросы» и нажимают «Изменить» или «Войти». В результате оказываются в среде VBA. Собственно, сам код макроса находится между строками Sub Макрос1() и End Sub.

Если копирование было выполнено, например, из ячейки А1 в ячейку C1, то одна из строк кода будет выглядеть, как Range(“C1”).Select. В переводе это выглядит, как «Диапазон(“C1”).Выделить», иными словами осуществляет переход в VBA Excel, в ячейку С1.

Активную часть кода завершает команда ActiveSheet.Paste. Она означает запись содержания выделенной ячейки (в данном случае А1) в выделенную ячейку С1.

Пример 2

Циклы VBA помогают создавать различные макросы в Excel.

Циклы VBA помогают создавать различные макросы. Предположим, что имеется функция y=x + x 2 + 3x 3 – cos(x). Требуется создать макрос для получения ее графика. Сделать это можно только, используя циклы VBA.

За начальное и конечное значение аргумента функции берут x1=0 и x2=10. Кроме того, необходимо ввести константу — значение для шага изменения аргумента и начальное значение для счетчика.

Все примеры макросов VBA Excel создаются по той же процедуре, которая представлена выше. В данном конкретном случае код выглядит, как:

Do While x1 0 Then Cells(1, 1).Value = 1

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector