Bazaprogram.ru

Новости из мира ПК
2 просмотров
Рейтинг статьи
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
Присвоение переменным числовых значений:

Microsoft Excel 2019/2016. Уровень 4. Макросы на VBA

Пользователь ПК

Этот курс в нашем Центре
успешно закончили
9345 человек!

Microsoft Excel 2019/2016. Level 4. VBA macros fundamentals

В новейшей версии Microsoft Office 2019/2016 встроенный язык программирования Visual Basic for Applications (VBA) по-прежнему остается основным наиважнейшим средством автоматизации работы пользователей с офисными приложениями.

Наибольшее количество прикладных задач, требующих использования макросов, возникает при работе с электронными таблицами Excel. Опытные пользователи могут самостоятельно справиться с вопросами автоматизации Microsoft Excel 2019/2016, если освоят возможности программирования макросов на VBA.

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

Основные команды языка VBA и базовые объекты Excel совместимы на уровне макросов с предыдущими версиями Excel, поэтому полученные на курсе знания и навыки программирования макросов можно будет с успехом применять как в Microsoft Excel 2019/2016, так и в более ранних версиях Microsoft Excel 2013/2010.

По окончании курса слушатели получают Свидетельство Центра «Специалист»

  1. Открыть приложенный Excel файл.
  2. Включить макросы.
  3. Изменить значение в ячейке С2.
  4. Убедиться, что в D2 появилось предупреждение (выберите новое значение).

Акции Центра

«Специалист.Ру», тариф «Молодёжный». Скидка 50%.

По окончании курса Вы будете уметь:

  • Использовать автоматическую запись макроса в Excel и исправлять недостатки автоматически генерируемого программного кода
  • Создавать проекты в редакторе VBA, редактировать, отлаживать и выполнять программный код
  • Программировать работу с переменными, условные переходы и циклы, диалоги для ввода значений и вывода сообщений
  • Программировать доступ и управление объектами Excel (такими как рабочая книга, рабочие листы и диапазоны ячеек)
  • Создавать и применять пользовательские функции
Читать еще:  Работа с шаблонами excel

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

Продолжительность курса — 24 ак. ч.

Преподаватели курса

Отзывы о курсе

Cлушатель: Лакман Дарья Олеговна

Cлушатель: Винокурова Людмила Сергеевна

Предварительная подготовка

Требуемая подготовка:

Требуемая подготовка: Успешное окончание курса 55291AC: Microsoft Excel 2019. Уровень 2. Расширенные возможности или эквивалентная подготовка.

Рекомендуемая подготовка (необязательная): Успешное окончание курса Microsoft Excel 2019/2016. Уровень 3. Анализ и визуализация данных или эквивалентная подготовка.

Рекомендуемая подготовка (необязательная): Успешное окончание курса Microsoft Access 2019/2016. Уровень 1. Обработка и анализ информации в базах данных или эквивалентная подготовка.

Для определения уровня предварительной подготовки рекомендуем Вам пройти бесплатное тестирование.

Получить консультацию о необходимой предварительной подготовке по курсу Вы можете у наших менеджеров: +7 (495) 232-32-16.

Наличие предварительной подготовки является залогом Вашего успешного обучения. Предварительная подготовка указывается в виде названия других курсов Центра (Обязательная предварительная подготовка). Вам следует прочитать программу указанного курса и самостоятельно оценить, есть ли у Вас знания и опыт, эквивалентные данной программе. Если Вы обладаете знаниями менее 85-90% рекомендуемого курса, то Вы обязательно должны получить предварительную подготовку. Только после этого Вы сможете качественно обучиться на выбранном курсе.

Рекомендуемые курсы по специальности

Чтобы стать профессионалом, мы рекомендуем Вам вместе с этим курсом изучить:

Тестирование по курсу

Программа курса

ТемаАк. часов
Модуль 1. Автоматическая запись макроса в Microsoft Excel 2019/2016
  • Использование макрорекордера для записи макроса в MicrosoftExcel2019/2016
  • Использование абсолютных и относительных ссылок при записи макроса
  • Исправление недостатков программного кода, генерируемого автоматически
2Модуль 2. Работа в редакторе Visual Basic. Основы программировании на VBA

  • Создание проекта VBA. Использование окна проекта. Работа с модулями.
  • Ввод и редактирование программного кода
  • Создание, сохранение и запуск процедуры VBA
  • Типы данных, переменные, константы
  • Инструкции управления порядком выполнения команд: If…Then…Else и Select Case
6Модуль 3. Программирование объектов Excel. Свойства и методы рабочих книг, листов и диапазонов ячеек

  • Понятие объектно-ориентированного программирования
  • Модель объектов Excel, ссылки на объекты
  • Обзор свойств и методов объекта Workbook
  • Управление листами: использование коллекции Worksheets и объекта Worksheet
  • Работа с диапазонами ячеек: использование объекта Range, его свойств и методов
  • Использование объектных переменных и конструкции With … End With
6Модуль 4. Циклы: программирование многократных действий

  • Разновидности циклов в VBA
  • Цикл со счетчиком For. Next
  • Циклы с условием Do. Loop
  • Цикл по объектам For Each. Next
  • Примеры циклических операций с ячейками и листами рабочих книг Excel
6Модуль 5. Создание пользовательской функции. Примеры пользовательских функций

  • Создание процедуры Function
  • Использование пользовательской функции в процедуре VBA и на рабочем листе
  • Решение типичных задач автоматизации в Excel с помощью пользовательских функций
2Модуль 6. Обработка ошибок. Отладка и тестирование программы

  • Типы ошибок
  • Создание процедуры обработки ошибок Run-time
  • Отладка и пошаговое тестирование программы
1Модуль 7. Защита проекта VBA. Автоматизация запуска макросов

  • Настройка уровней безопасности
  • Защита проекта VBA
  • Создание пользовательских кнопок для запуска макросов
  • Использование событий рабочих книг и листов для запуска макросов
1Аудиторная нагрузка в классе с преподавателем 24 +12
бесплатно
По окончании обучения на курсе проводится итоговая аттестация. Аттестация проводится в виде теста на последнем занятии или на основании оценок практических работ, выполняемых во время обучения на курсе.

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

  • утренним группам с 8:30 до 10:00
  • дневным группам — по 1 ак.ч. до и после занятий (13.15-14.00, 17.10-17.55)

Ближайшие группы

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

С чего я начал изучение Excel и VBA, с какими трудностями сталкивался

«Давным-давно, будучи в школе, я познакомился с такой программой, как Excel. Нам показывали старую 2007 версию, и я практически не понимал, для чего она нужна кроме того, чтобы рисовать красивые таблички на основе ячеек.

Прошло 8 лет, и сейчас я использую Excel в работе ежедневно. Более того, я использую его в связке с VBA и языками программирования SQL и Python. Это очень сокращает время работы, позволяет автоматизировать бизнес-процессы, решать нетривиальные задачи.

Сегодня я хотел бы рассказать о своем пути познания этого замечательного продукта Microsoft и с какими трудностями столкнулся, пока этим занимался.»

Изучение основ Excel

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

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

Изучение базовых формул и возможностей в Excel

Так как в то время, когда я начал этот этап, в принципе не существовало подобных Societe Financiers сообществ, то приходилось самому искать информацию в интернете по статьям и видео. Это отнимало огромное количество времени, и в определенный момент большим триггером для меня стало открытие нескольких каналов в YouTube типа ExcelIsFun и BIWS.

Так как параллельно я изучал финансы, я смог совместить сразу 3 преимущества в одном: изучение финансов, изучение Excel и изучение английского языка. Хотя без знания последнего, конечно, вы вряд ли что-то поймете, поэтому этот вариант подходит не для всех.

Посмотрев более 200 видео на этих каналах и потратив в общей сложности более 70 часов чистого времени, я уже знал большинство формул, умел строить несколько продвинутых диаграмм и умел пользоваться такими возможностями, как: сводная таблица, поиск решения и др. Важным моментом для меня был также переход на Excel 2013, потому что, по сравнению с Excel 2010, там также был очень качественный скачок в функционале.

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

Изучение сложных диаграмм, возможности работы с большими данными в Excel, VBA

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

  • Как делать бэктестинг сложных торговых стратегий в Excel, где куча различных условий и предпосылок?
  • Как делать красивые диаграммы и инфографику в Excel?
  • Как обрабатывать данные с количеством строк более 10 млн штук

На этом этапе пришлось делать очень много поиска в Google, по результатам которого я смог найти способы построения многих сложных диаграмм и познакомился с такими продвинутыми возможностями Excel, как: Power Pivot и VBA. Power Pivot дался достаточно легко, хотя и были некоторые особенности. А вот с VBA пришлось повозиться.

Для тех, кто не знает, VBA, или Visual Basic Application, — встроенный в продукты MS Office язык программирования, написанный на основе известного языка Visual Basic. Я начал изучение VBA проверенным путем — с видео в YouTube. Но чем больше я смотрел, тем больше понимал, что там показаны решения конкретных задач, но не дано универсальной базы, от которой можно отталкиваться, чтобы решить абсолютно любую задачу.

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

VBA очень сильно помог в работе. Было такое ощущение, что теперь для решения задачи построения небоскреба тебе дали все необходимые для этого материалы, а не конструктор ЛЕГО в виде ограниченных функций / возможностей в Excel. Коллеги тоже были в восторге, так как удалось решить несколько трудоемких задач путем написания простого кода и помещения его в красивую кнопочку.

Как итог, на этом этапе я уже владел почти всем функционалом в Excel, умел программировать на VBA и использовать связки типа Excel+Python и Excel/VBA+SQL, строить почти все виды продвинутых диаграмм и использовать дополнительные возможности Excel для обработки больших массивов данных.

Преподавание в SF

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

Я очень благодарен SF Education и лично Александру Вальцеву за возможность преподавать Excel/VBA нашим ученикам на Академиях и на моем отдельном курсе. Благодаря этому я не только познакомился со многими замечательными людьми, но и получил много вопросов о тех неординарных проблемах, с которыми даже сам не успел столкнуться на своей практике. Их решение стало для меня особенным этапом в процессе познания Excel, вершиной Эвереста, которую мечтает покорить любой опытный альпинист.

Мне кажется, что единственная сложность на этом этапе, — это наличие времени. Но я всегда готов найти его для тех людей, кто обращается ко мне с просьбой о помощи, особенно в тех задачах, где простой поиск в Google не дает ответа. Так что, в принципе, на этом этапе сложностей нет.

Итог этому этапу подвести сложно, потому что я нахожусь на нем в текущий момент. Что будет дальше — покажет только время, но я об этом всем вам обязательно сообщу.

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 ).

Ссылка на основную публикацию
Adblock
detector