Vba для excel полный курс 86 уроков
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 ).
VBA Excel. Начинаем программировать с нуля
Первое знакомство с редактором VBA Excel, создание процедур (подпрограмм) и написание простейшего кода, работающего с переменными и ячейками рабочего листа.
Знакомство с редактором VBA
- Создайте новую книгу Excel и сохраните ее как книгу с поддержкой макросов с расширением .xlsm. В старых версиях Excel по 2003 год – как обычную книгу с расширением .xls.
- Нажмите сочетание клавиш «левая_клавиша_Alt+F11», которое откроет редактор VBA. С правой клавишей Alt такой фокус не пройдет. Также, в редактор VBA можно перейти по ссылке «Visual Basic» из панели инструментов «Разработчик» на ленте быстрого доступа. Если вкладки «Разработчик» на ленте нет, ее следует добавить в настройках параметров Excel.
В левой части редактора 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
Присвоение переменным числовых значений:
Курсы по макросам на VBA в Microsoft Excel, обучение в Москве
Макросы на VBA в Microsoft Excel
очно
Курс подходит для:
специалистов, постоянно использующих Excel в повседневной профессиональной деятельности и желающих научиться разбирать программный код на VBA и самостоятельно программировать макросы
ПО ОКОНЧАНИИ КУРСА ВЫ БУДЕТЕ УМЕТЬ:
- Создавать и применять пользовательские функции;
- Использовать автоматическую запись макроса в Excel;
- Программировать работу с переменными, условные переходы и циклы, диалоги для ввода значений и вывода сообщений;
- Программировать доступ и управление объектами Excel.
Особые условия для корпоративных клиентов
- работать в редакторе Visual Basic;
- создавать процедуры Function;
- программироват ь объ екты Excel .
ДОКУМЕНТ ОБ ОКОНЧАНИИ КУРСА
Подпишитесь на наш канал на YouTube!
Ближайшие даты для очного формата и онлайн-трансляций
Тип курса:
Повышение квалификации
Документ:
Удостоверение
Будни: апрель 2020
Этот курс можно пройти в 3-х форматах:
1. Очно – обучение по расписанию в нашем Центре .
2. Онлайн-трансляция – обучение по расписанию с любого места, где есть интернет. Подробнее о формате
3. Дистанционно – обучение в любое время и с любого места, где есть интернет. Подробнее о формате
Объем курса — 24 академических часов
Проводятся индивидуальные занятия. Подробности уточняйте у менеджеров.
Как оплатить курс, смотрите здесь
Преподаватели
- Познакомиться с методикой обучения и преподавателем
- Ознакомится с документами Центра и правилами обучения
- Увидеть условия обучения — учебные аудитории, оснащение
- Познакомиться с нашим дружным коллективом.
Мы очень удобно расположены в ЦАО
- Дистанционный курс — это точное повторение очных занятий
- Дистанционный курс – это возможность общаться с преподавателем весь период обучения
- Доступ к дистанционному курсу значительно длиннее срока очного обучения
- Учитесь в любое время и в любом удобном для Вас месте, где есть интернет!
Попробуйте прямо сейчас
Курсы по макросам на VBA можно пройти в очной форме. Обучающая программа подходит для тех, кто стабильно использует Microsoft Excel по работе или в повседневной жизни. Профессиональное использование программы требуется многим офисными работникам, менеджерам, бухгалтерам. Если вы хотите разобраться программных кодах VBA, стоит пройти курс, который научит вас всем нюансам, включая самостоятельное программирование макросов.
Какие умения дает прохождение курса?
Главные цели изучения курса:
- Обучение работе в редакторе Visual Basic;
- Студент курсов изучает процедуры Function;
- Освоение навыков программирования объектов Excel.
После освоения курса выпускник сможет применять различные функции пользователя максимально эффективно, примерять автоматические записи макроса, программировать управление объектами, доступ к ним, работу с переменными, диалоги для ввода данных.
К задачам освоения курса относят также:
- Умение работать в VBA коде – находить и исправлять ошибки;
- Использовать редактор VBA, редактировать код;
- Создавать проект VBA;
- Использовать циклы, диалоги, применять различные функции.
Обучение макросам на VBA позволит в полной мере использовать все возможности программы.
Что нужно, чтобы поступить на курсы?
Поступить на обучающий курс можно, имея диплом о высшем или среднем специальном образовании. Если документ об образовании на иностранном языке, требуется его официальный перевод на русский язык. Также необходим паспорт для подтверждения личности.
По факту окончания курса, выпускник получает удостоверение о повышении квалификации.
Обучающая программа рекомендуется специалистам, которые постоянно используют Excel по работе, хотят профессионально пользоваться VBA и научиться программировать макросы VBA Excel.
Особенности курса
- Слушатель курса может выбрать удобное время посещения занятий – доступны варианты в выходные дни и в будние (понедельник, среда, пятница).
- Курс ведут опытные профессионалы, которые имеют специальные знания в своей сфере.
- Объем курса – 24 часов.
- Обучение проходит стационарно, что позволяет всем слушателям задавать вопросы, практиковаться под руководством преподавателя;
- Обучающая программа охватывает и теорию, и практику – практическому применению навыков уделяется больше времени.
Макросы на VBA в Microsoft Excel изучать намного легче, благодаря продуманности программы и высокому профессионализму преподавателей.
Что входит в программу курса?
- Использование макродекодера и запись макросов в программе;
- Применение редактора Visual Basic: создание кода, использование модулей, работа с программным кодом, изучение типов данных, переменных и стабильных значений;
- Особенности программирования в Excel, работа с ячейками, листами;
- Изучение циклов: виды циклов, работа с циклами с условиями, по объектам;
- Формирование пользовательских функций, решение задач путем автоматизации;
- Автоматизация работы макросов;
- Настройка и тестирование программы.
В качестве итоговой работы слушатели выполняют тестирование.
Главное преимущество – это возможность получить одно пробное занятие бесплатно. Что это дает потенциальному ученику?
- Вы можете лично познакомиться с преподавателем, осмотреть аудитории, технику;
- Узнать подробнее о Центре обучения, его документации;
- Составить собственное впечатление об условиях прохождения курса.
Если у вас возникли вопросы, вы можете обратиться к специалистам Центра по номеру телефона горячей линии. Заказать курс можно в онлайн режиме и оплатить его удобным способом.
Книги для изучения Excel и VBA
Содержание этой страницы полностью соответствует названию. Здесь я буду выкладывать книги для изучения Excel и VBA, различные справочники или ссылки на ресурсы, с которых подобные справочники и книги можно скачать. Выложенные пособия могут пригодиться не только начинающим изучать Excel и VBA, но и более продвинутым пользователям.
Справочник по функциям листа Excel — это справочник по функциям листа Excel в формате справки Windows .chm. Файл содержит полный перечень функций листа Excel на русском и английском языках и снабжена примерами использования и применения функций. Справочник может понадобиться как начинающим, так и уже более искушенным пользователям.
Формат файла: .chm
Справочник по функциям листа Excel (532,2 KiB, 15 682 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.
VBA Программирование в MSOffice — очень хороший учебник для начинающих программировать в VBA. Книга написана сертифицированным преподавателем Microsoft Office доступным для понимания языком, снабжена грамотными листингами кодов. Учебник поможет освоить программирование не только в Microsoft Excel, но и Microsoft Word и Microsoft Project.
Формат файла: .pdf
VBA Программироваие в MSOffice (4,1 MiB, 26 887 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.
Уокенбах Дж. Профессиональное программирование в VBA Excel 2003 — пожалуй самый популярный учебник для начинающих. Многие начинали именно с него. Правда, в печатной версии данного учебника использованы листинги кодов, которые не всегда нужно принимать на веру — очень часто там встречаются опечатки и вместо английских символом встречаются русские. Поэтому лично я бы посоветовал не копировать коды напрямую из книги, а переписывать их вручную в редакторе VBA. Так и запомнится лучше и избавите себя от поиска ошибок.
Формат файла: .pdf
Ссылка удалена по требованию правообладателя
Office 2007. Самоучитель — Если Вы решили поближе познакомиться с интерфейсом и основными возможностями приложений Microsoft Office, то советую почитать данную книгу. В ней описано все необходимое для успешной работы в таких приложениях как: Excel, Word, Outlook, Power Point, Access. После прочтения Вы сможете создавать красивые презентации и информативные графики, научитель создавать задачи в Outlook и базы в Access.
Формат файла: .pdf
Ссылка для скачивания: 2007_Samouchitel.zip
Пароль к архиву: 12345
Он-лайн видеообучение — Данная ссылка отличается от всех описанных выше тем, что это не книга — это он-лайн сервис. Бесплатный. На этом сайте просто огромное количество материала и по Excel, и по Word, и по Outlook, и по VBA и по другим языкам программирования. Чем удобны такие материалы: Вам рассказывают и одновременно показывают необходимые действия. Это намного лучше одной статической картинки. И я бы сравнил это с живыми курсами, с той лишь разницей, что Вы не можете задать вопрос преподавателю. Но есть и плюсы — Вы в любой момент можете остановить урок, отдохнуть, а затем продолжить обучение с того момента, на котором закончили.
Русская справка по Visual Basic for Application(VBA) — Это официальная справка по Visual Basic for Application(VBA), которая была включена в пакет Microsoft Office 97. Тогда справка была еще русифицирована. Ни для кого не секрет, что сейчас во всех версиях офиса справка по VBA доступна только на английском языке, независимо от локализации. А по буржуйски не все могут читать(даже сносно, как показывает практика).
Хочу сразу предупредить — т.к. справка предназначена для довольно старой версии, в ней описаны не все методы и свойста. Но основная их масса все же описана и, надеюсь, данная справка поможет Вам в начальном изучении VBA.
Формат файла: .файл справки
RUS_VBA.zip (1,1 MiB, 9 297 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.
Объекты Shell_RegExp и пр — целый сборник примеров работы с такими объектами как: Shell, RegExp, FileSystemObject, WshShell, Dictionary, WshNetwork, WScript, константы и функции WScript. Все примеры структурированы по разделам и сделаны в качестве справки по свойствам и методам каждого из объектов. Очень удобно, если не очень часто применяете в работе эти объекты и что-то забылось.
Формат файла: .файл справки
_Shell_RegExp__.chm (207,6 KiB, 1 521 скачиваний)
VBA First Steps — по сути это сохраненный в формате справки сайт http://www.firststeps.ru/, который собрал в себе множество приемов по работе в VBA как для начинающих его изучать, так и для более продвинутых.
Формат файла: .файл справки
VBA_First_Steps.chm (1,1 MiB, 2 570 скачиваний)
vbfunction — описание и примеры использование почти всех встроенных функций VBA в алфавитном порядке от А.Климова.
Формат файла: .файл справки
vbfunction.chm (139,3 KiB, 2 746 скачиваний)
С чего я начал изучение 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 не дает ответа. Так что, в принципе, на этом этапе сложностей нет.
Итог этому этапу подвести сложно, потому что я нахожусь на нем в текущий момент. Что будет дальше — покажет только время, но я об этом всем вам обязательно сообщу.