Web-studio46.ru

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

Программирование в visual basic 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
Присвоение переменным числовых значений:

VBA-Урок 1. Что такое VBA. Основные понятия.

В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.

Что такое VBA?

VBA — язык (расшифровывается как Visual Basic for Application) был разработан компанией Microsoft. Данный язык не является самостоятельным, а предназначен для автоматизации процессов в пакете MS Office. VBA широко используется в Excel, а также в Access, Word и других программах пакета.

VBA — простой язык программирования, которому может научиться любой желающий. Изучив его, вы сможет предоставлять команды Excel, что делать с колонками, строками, значениями в ячейках, перемещать/добавлять/сортировать листы, выводить заранее запрограммированные сообщения, писать свои формулы и функции и т.д. Суть языка заключается в оперировании объектами (что относит его к объектно-ориентированному программированию).

Чтобы работать с VBA кодом, нам нужен редактор, который уже установлен по умолчанию. Вы можете открыть его, нажав комбинацию клавиш » ALT + F11 «.

Объекты (Objects)

Давайте разберем, что же такое объект. Объект — это элемент, структурная частица Excel, а именно: книга, лист, диапазон, ячейка. Данные объекты имеют иерархию, т.е. подчиняются друг другу. Схематично структуру иерархии Excel можно изобразить следующим образом:

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

Application.Workbooks(«Архив»).Worksheets(«Аркуш1»).Range(«A1»).

Таким образом, мы научились обращаться до наименьшего объекта в Excel — ячейки.

Коллекции (Collections)

В свою очередь объекты имеют «коллекции». Коллекция — это группа объектов одинакового класса. Отдельные элеметы коллекции являются также объектами. Так, объекты Worksheets являются элементами коллекции объекта Worksheet, который содержит также и другие коллекции и объекты:

  • ChartObjects (элемент коллекции объекта ChartObject)
  • Range
  • PageSetup
  • PivotTables (элемент коллекции объекта PivotTable).

Свойства (Properties)

Каждый объект имеет свойства . Например, объект Range имеет свойство Value или Formula.

Worksheets(“Sheet1”).Range(“A1”).Value або Worksheets(“Sheet1”).Range(“A1”).Formula

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

Также, через свойство Formula можно не только получить формулу, но и записать ее:

MsgBox Range(“A1”).Formula — получим сообщение с формулой в ячейке «А1«;

Range(“B12”).Formula = “=2+6*100” — вписываем формулу =2+6*100 в ячейку B12.

Методи (Methods)

Теперь давайте рассмотрим, каким образом мы можем управлять содержимым диапазона или ячейки. Для этого в VBA существуют, так-называемые методы (команды «что сделать»). При написании кода методы отделяются от объекта точкой, например:

Range(«A1»).Select или Cells(1, 1).Select

Данный метод указывает выбрать (Select) ячейку «A1».
Далее, давайте, удалим значение в данной ячейке. Для этого напишем следующий код:

Selection.ClearContents

Здесь программа «берет» то, что мы выделили (Selection) и удаляет его содержимое (ClearContents ).

Программирование в visual basic excel


Книга: Использование макросов в Excel.
Автор: С. Роман
Страниц: 507
Формат: DJVU
Размер: 8.02 Mb

Несмотря на мощные функциональные возможности, обеспечиваемые пользовательским интерфейсом Excel, существует ряд задач, выполнение которых возможно только программным путем. Книга «Использование макросов в Excel” представляет собой введение в программирование на Excel VBA, содержащее примеры решения различных практических задач, возникающих при работе в Excel. Материал книги рассчитан на пользователей Excel, а также программистов, которые не знакомых с объектной моделью Excel. Наряду с разделами, посвященными разработке макросов для Excel 2002, здесь излагается вводный курс по написанию макросов и программ в среде Excel.

Книга: Интенсивный курс программирования в Excel за выходные
Автор: П. Эйткен
Издательство: Диалектика
Страниц: 421
Формат: DJVU
Размер: 12.6 Мб
Качество: Нормальное
Язык: Русский
Жанр: программирование
Год издания: 2004
ISBN: 5-8459-0687-3

Возможности Microsoft Excel не ограничиваются только работой с таблицами данных. За средствами обработки электронных таблиц прячется сильный язык программирования — VBA (Visual Basic for Applications). Впрочем, практически хоть какой юзер имеет возможность выучиться писать программы на языке VBA для решения самых разнородных задач в Excel — от механического исполнения вычислений до создания системы для ввода данных с собственными экранными формами и с вероятностью ревизии корректности набираемых значений.

Книга: Программирование на VBA 2002
Автор: В.Г. Кузьменко
Качество: Нормальное
Язык: Русский
Жанр: программирование

В книге содержится курс по программированию на Visual Basic for Applications (VBA), являющимся базовым языком в приложениях Microsoft Office (Word, Excel, Access, PowerPoint, FrontPage, Visio и др.). Книга предназначена для начинающих программировать в среде Windows с применением Word-, Excel-, PowerPoint-объектов. Часть книги посвящена вопросам разработки Office-приложений, использующих базы данных, хранимых как в отдельных файлах, так и на удаленных серверах. Материала книги достаточно для изучения основ языка Visual Basic и создания простых макросов, помогающих автоматизировать рутинную повторяющуюся работу с документами, электронными таблицами, диаграммами, презентациями и т.д., а также для разработки довольно сложных приложений обработки баз данных с использованием диалоговых окон, обеспечивающих пользователя самыми современными интерфейсными средствами. Большинство примеров в книге посвящены актуальным в настоящее время вопросам коммерческой деятельности, поэтому книга будет очень полезной менеджерам различных уровней, которым, по-видимому, и предназначен как Microsoft Office, так и встроенный язык программирования VBA.
Приложения в конце книги могут послужить удобным справочником при работе как с VBA, так и с обычным VB.

Книга: Профессиональное программирование на VBA в Excel 2003
Автор: Джон Уокенбах
Издательство: Вильямс
Формат: PDF
Размер: 11 Мб
Качество: Отличное
Язык: Русский
Год издания: 2005
ISBN: 5-8459-0771-3
К книге прилагается диск

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

Pdf-версия отредактирована и любезно предоставлена участником Alex_ST.

Книга: : Профессиональное программирование на VBA в Excel 2010
Автор: Джон Уокенбах
Издательство: Wiley
Формат: PDF
Страниц: 1308
Размер: 11,9 Мб
Качество: Отличное
Язык: Английский
Год издания: 2010

This book focuses on Visual Basic for Applications (VBA), the programming language built into Excel (and other applications that make up Microsoft Office). More specifically, it will show you how to write programs that automate various tasks in Excel. This book covers everything from recording simple macros through creating sophisticated user-oriented applications and utilities. This book does not cover Microsoft Visual Studio Tools for Office (VSTO). VSTO is a relatively new technology that uses Visual Basic .NET and Microsoft Visual C#. VSTO can also be used to control Excel and other Microsoft Office applications.
This is not a book for beginning Excel users. If you have no experience with Excel, a better choice might be Excel 2010 Bible, which provides comprehensive coverage of all the features of Excel. That book is meant for users of all levels.

Книга: : Профессиональное программирование на VBA в Excel 2010
Автор: Джон Уокенбах
Издательство: Диалектика
Формат: PDF
Страниц: 920
Размер: 22,1 Мб
Качество: Отличное
Язык: Русский
Год издания: 2010

Предмет рассмотрения этой книги — язык программирования Visual Basic for Applications (VBA), который встроен в Excel, а также в другие приложения, входящие в состав Microsoft Office. Здесь подробно описано создание программ, автоматизирую­щих выполнение различных задач в Excel, а также рассматривается широкий круг других тем — от написания простейших макросов до создания сложнейших приложений и ути­лит, рассчитанных на взаимодействие с пользователем. В этой книге нет описания программного пакета Microsoft Visual Studio Tools for Office (VSTO). Он представляет собой воплощение относительно новой технологии, ис­пользующей Visual Basic .NET и Microsoft Visual С#. Технология VSTO также может применяться для управления поведением программы Excel и других приложений Microsoft Office.

Книга не предназначена для начинающих пользователей Excel. Если у вас нет опыта работы с этим приложением, то прочтите сначала книгу Excel 2010. Библия пользо­вателя, в которой подробно рассказывается обо всех возможностях Excel (она адресована пользователям всех уровней).


Книга: Самоучитель VBA
Автор: Гарнаев А.
Издательство: bhv
Страниц: 512
Формат: html с картинками в rar
ISBN: 5-8206-0067-3
Размер: 2,22 Мб

ПРОГРАММИРОВАНИЕ В VISUAL BASIC FOR APPLICATIONS

ЦЕЛЬ ТРЕНИНГА

Научиться эффективно применять Visual Basic for Applications в Microsoft Excel для выполнения задач

КРАТКОЕ ОПИСАНИЕ

В ходе тренинга будут освоены навыки программирования в Visual Basic for Applications, необходимые для самостоятельного написания кода с нуля, отладки кода, анализа чужого кода, а также приобретены навыки и знания по ориентированию в редакторе Visual Basic Editor, понимание объектной модели Excel «изнутри»

ПРЕИМУЩЕСТВА ТРЕНИНГА

• Разработка и создание в ходе проведения тренинга файлов Microsoft Excel, используемых участниками для решения своих рабочих задач;
• Учет специфики работы и корпоративной культуры Заказчика;
• Обеспечение консультационной поддержки участников тренинга после его проведения.

РЕЗУЛЬТАТ

Сокращение времени, затрачиваемого на выполнение различных задач в Microsoft Excel, повышение качества и эффективности работы

ПРОДОЛЖИТЕЛЬНОСТЬ ТРЕНИНГА: 24 академических часа

ПРОГРАММА ТРЕНИНГА

Модуль 1. Введение

• Необходимые основы и теоретические знания, которые надо знать, чтобы начать программировать на Visual Basic for Applications (VBA) в Microsoft Excel.
• Основные понятия и термины, чтобы говорить на одном языке.
• Плюсы и минусы использования макросов, когда они могут быть вам полезны, а когда лучше воспользоваться иными возможностями Excel.
• Способы создания макросов (макрорекордер, самостоятельное написание кода, копирование и адаптация фрагментов чужого кода и т.д.)

Модуль 2. Редактор VBE

• Этот модуль посвящен подробному разбору основного инструмента программиста на VBA в Microsoft Excel — среды программирования и редактора кода Visual Basic Editor (VBE).
• Основные элементы окна VBE — их назначение, использование, горячие клавиши и приемы ускорения работы
• Структура проекта VBA Project — как устроена книга Excel с точки зрения программирования, где и как может храниться код VBA, в чем различия и особенности использования модулей разного типа, что такое формы и т.д.
• Процедуры (Sub) и функции (Function) – что из себя представляет каждый тип и в чем их различия и особенности.

Модуль 3. Объектная модель Microsoft Excel

• Рассматривается набор объектов (листов, ячеек, диаграмм и т.д.) со своими свойствами и специфическими методами и событиями. Знание и понимание этих свойств и взаимодействия объектов позволяет легко манипулировать любыми встроенными инструментами в Excel, привлекая их для решения задач. Этот модуль даст понимание устройства общей объектной структуры Excel, принципов и подходов для работы с ней, свойств ключевых объектов книги.
• Теоретический минимум (иерархия объектов, коллекции, свойства, методы и события)
• Получение справки по объектам
• Сокращенное обращение к объекту (для упрощения и упорядочивания ссылок на объекты)
• Подробный разбор свойств и методов объектов Workbook и Worksheet

Модуль 4. Синтаксис языка VBA

• В этом модуле на живых примерах разберем все основные программные конструкции и синтаксические особенности языка VBA, нюансы их использования в реальных задачах и проектах.
• Объявление переменных и констант (правила выбора имен для переменных, типы данных, области видимости переменных).
• Обзор способов организации взаимодействия с пользователем (MsgBox, InputBox, Application.InputBox, Debug.Print и т.д.)
• Математические и текстовые операторы для обработки данных
• Способы проверки условий (конструкции if. then, select case и т.д.), операторы сравнения.
• Способы организации циклов (различные виды безусловных циклов for. next, циклы по условию do. loop и т.д.)
• Обработка ошибок: завершение кода при возникновении ошибки; переход в определенное место в коде; сброс ошибок. Почему стоит избегать переходов при ошибках.

Модуль 5. Работа с диапазонами

• Безусловно, почти любой макрос создается для взаимодействия с отдельными ячейками и диапазонами листа Excel. В этом модуле подробно рассматриваются все свойства и методы объекта Range и работа с ним на практических задачах из реальной жизни.
• Свойство Selection, обработка выделенных областей на листе
• Объект Range, его свойства, методы и события. Выполнение различных операций над диапазонами
• Коллекция Cells, варианты и особенности ее использования в коде

Модуль 6. Обработка событий

• События в Microsoft Excel — это некие специальные ситуации, возникающие в определенный момент (сохранение книги, изменение данных на листе, печать документа и т.д.) Умение перехватывать и обрабатывать события открывает перед разработчиком очень широкий набор мощных возможностей для применения в проектах. Этот модуль посвящен детальному разбору принципов и алгоритмов обработки событий в Excel.
• Концепция событий Microsoft Excel. Последовательность возникновения событий. Отключение и включение событий. Почему события необходимо отключать.
• События книги, примеры использования в реальных проектах
• События листа, примеры
• Перехват событий любой открытой книги, листа.

Модуль 7. Пользовательские формы

• Для многих программ часто необходимо взаимодействие с пользователем: запрос данных, отображение, визуализация. Все это не сделать при помощи одних Msgbox и InputBox, поэтому нельзя представить более-менее объемную программу на VBA без пользовательских форм — UserForms. Данный модуль поможет научиться создавать пользовательские формы и применять их в проекте.
• Добавление формы в проект
• Использование элементов управления: кнопка, надпись, текстовое поле, выпадающий список
• Обработка событий элементов управления

Модуль 8. Варианты запуска процедур. Защита проекта VBA

• Создание кнопок на листе для запуска процедур
• Создание своей панели на ленте с кнопками для запуска процедур. Использование событий для создания кнопок на панели при открытии книги.
• Защита проекта VBA.

Модуль 9. Функции API

• Краткое введение в понятие функций API
• Когда имеет смысл применять данные функции, а когда лучше воздержаться.
• Объявление функций API, особенности объявления в различных версиях OS Windows.

Скачать программу тренинга:

ПРОГРАММИРОВАНИЕ В VBA (480,7 KiB, 5 870 скачиваний)

ОРГАНИЗАЦИЯ ТРЕНИНГА

Для проведения тренинга на вашей территории необходимо:

• подходящее помещение(достаточное для комфортного размещения всех участников тренинга);
• проектор и экран(или что-то, что может данный экран заменить);
• компьютеры для каждого участника с установленным на них Microsoft Office Excel 2007 или старше(2003 так же подойдет, но желательно все же 2007 или старше).

Если у вас нет подходящего помещения, то тренинг может быть проведен на нашей территории, где уже есть все необходимое.

ЧТО ОСТАНЕТСЯ ПОСЛЕ ТРЕНИНГА (кроме новых знаний)

  • методическое пособие с описанием пошаговых действий всех основных тем тренинга
  • все файлы примеров, используемые на тренинге: пустые, чтобы можно было еще потренироваться и заполненные, чтобы можно было вспомнить как именно выглядит решение
  • несколько удобных файлов-шпаргалок по работе в Excel
  • набор надстроек и программ для работы в Excel, включая полную версию многофункциональной надстройки MulTEx Lite, добавляющей более 60 новых функций в Excel:
  • красивый сертификат

Заинтересовались? Для получения более подробной информации об условиях проведения тренинга пишите на info@excel-vba.ru

Читать еще:  Как научиться программировать на javascript с нуля
Ссылка на основную публикацию
Adblock
detector