С чего начать учить vba excel
Точно знаю, что VBA — это полезно и нужно. Но с чего начать? Какой учебник взять? Какие дидактические материалы (ведь чтобы научится надо ставить себе какие-то задачи..).
P.S. Ну и, конечно, извиняюсь за тупые вопросы)
Dictum — factum
Пользователь
Сообщений: 3103 Регистрация: 22.12.2012
Excel,MSSQL,Oracle,Qlik
09.07.2011 12:17:49
Точно знаю, что VBA — это полезно и нужно. Но с чего начать? Какой учебник взять? Какие дидактические материалы (ведь чтобы научится надо ставить себе какие-то задачи..).
P.S. Ну и, конечно, извиняюсь за тупые вопросы)
Пользователь
Сообщений: 3071 Регистрация: 22.12.2012
09.07.2011 15:01:30
Я начинал с этого — Штайнер Г. VBA 6.3. Справочник MQ.djvu
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина — самый громкий звук
Пользователь
Сообщений: 11312 Регистрация: 01.01.1970
10.07.2011 07:24:36
Уокенбаха берите, с него большинство начинает.
http://www.excelworld.ru/index/vba/0-12
Пользователь
Сообщений: 1716 Регистрация: 01.01.1970
10.07.2011 08:40:42
Страницы: 1
Читают тему
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
VBA-Урок 1. Что такое VBA. Основные понятия.
В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.
Что такое VBA?
VBA — это язык программирования (расшифровывается как Visual Basic for Applications), который был разработан компанией 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)
- 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?
Васильев А., Андреев А. VBA в Office 2000. Учебный курс. СПб., “Питер”, 2000. — 432 с.
Как подступиться к изучению программирования? С чего начать и в каком направлении двигаться? В последнее время эти вопросы задают все чаще. И многие спрашивающие имеют в виду именно освоение разработки приложений в среде Office/VBA как весьма популярного и перспективного инструмента программирования. (Полтора года назад мой знакомый уезжал на постоянное жительство в США. Изучив спрос на тамошнем рынке труда, он решил срочно переквалифицироваться из бухгалтера в программиста. За три месяца до отъезда начал “с нуля” изучение VBA и, действительно, попав за океан, устроился на работу программистом. )
Казалось бы, чего проще: на книжных лотках всегда лежит 2-4 книги на эту тему — покупайте, читайте, пишите программы. Но при ближайшем рассмотрении все оказывается гораздо сложнее.
Процесс освоения программирования включает в себя два неотъемлемых компонента: изучение технологии программирования на логическом уровне и изучение некоторого конкретного инструмента. При этом нужно помнить, что технологию, методику программирования можно изучать не только с помощью блок-схем и математических формул, но и с использованием какого-то конкретного языка. Поэтому хотелось бы четко разделить постановки двух разных задач: изучение Бейсика (например) и изучение технологии программирования на примере Бейсика.
В эпоху всеобщего обучения программированию в технических вузах (еще 10-15 лет назад) обычно этот предмет студенты забывали сразу после сдачи зачета (речь, конечно, не идет о подготовке специалистов по вычислительной технике). Причин такого результата было много, но одна из них — подмена изучения технологии заучиванием набора лексических составляющих языка программирования, вследствие чего возникла ситуация: “Каждый отдельный оператор понимаю. Но как из них сложить программу?”.
Сегодня такой подход в принципе нереален, так как число элементов языка исчисляется тысячами. При этом современные средства разработки предоставляют качественно новые инструменты (по сравнению с компиляторами двадцатилетней давности), более понятные на чисто интуитивным уровне, которые можно последовательно изучать в ходе решения конкретных задач уже на самых первых шагах.
С момента появления Visual Basic (1991 г.) я стараюсь следить за изданиями по этой тематике и должен сказать, что лучшим (а может быть, и единственным) учебником для начинающих программистов (не только по VB!) был перевод книги “Running Visual Basic” Росса Нельсона, изданного “Русской Редакцией” в 1995 г. (см. PC Week/RE, № 5/95, с. 6).
Подзаголовок рецензируемой книги — “Учебный курс” и наименования ее глав в виде последовательности семнадцати “уроков” настраивают на ожидание чего-то подобного. Но, к сожалению, уже с первых страниц становится понятно, что речь идет совсем не об учебном курсе, а о справочнике по VBA. В этой связи хотел бы сразу выразить сомнение, что “материала книги достаточно для того, чтобы научиться автоматизировать свою работу в рамках MS Office”.
Причем издатели явно погорячились, указав в анонсе, что в книге можно найти полную характеристику языка: в ней содержится лишь небольшая часть даже часто используемых конструкций. Разумеется, невозможно в одной книге дать полное описание языка VBA, но все же упомянуть о существовании огромного множества других конструкций было бы полезно. А дать представление о наборе функций по обработке строк и дат просто необходимо.
По сути дела книга представляет собой краткий справочник по VBA — сильно сокращенный вариант электронной справки Office/VBA. И такое издание действительно полезно для программистов, особенно для тех, кто не очень силен в английском языке или предпочитает иметь дело с печатными документами, а не с электронными. Но следует иметь в виду, что книга дает только общее представление о том или ином элементе VBA — для его практического использования скорее всего придется дополнительно изучать электронную справку.
Мне кажется, что данная книга в качестве учебника может быть полезнее как раз для достаточно опытных разработчиков, которые смогут быстро найти обзор ключевых объектов разных офисных приложений. Только жаль, что авторы, рассмотрев работу пяти программ (Word, Excel, PowerPoint, Access и Outlook), оставили без внимания FrontPage. (Было бы гораздо логичнее исключить Access, который имеет наиболее специфическую реализацию VBA и которому посвящено много специализированных книг.)
Итак, книга действительно может быть полезной при изучении VBA, но она скорее относится к необходимым, но никак не достаточным условиям его освоения. Все же учебный курс и справочник — это “две большие разницы”; ведь и прочитав энциклопедию (очень полезное издание), нельзя овладеть методикой научного исследования.
Самоучитель по Excel VBA
Данный учебник является введением в язык программирования Excel VBA (Visual Basic for Applications). Изучив VBA, Вы сможете создавать макросы и выполнять в Excel практически любые задачи. Вы очень скоро поймёте, что макросы могут сэкономить уйму времени благодаря автоматизации повторяющихся задач и обеспечить гибкое взаимодействие с другими пользователями.
Этот учебник не является исчерпывающим руководством по языку программирования Excel VBA. Его цель – помочь начинающему специалисту освоить написание макросов в Excel при помощи кода VBA. Для желающих изучить этот язык программирования более глубоко существуют отличные книги по Excel VBA. Далее приведено содержание самоучителя по Excel Visual Basic. Для начинающих программистов настоятельно рекомендуется начать с первого раздела учебника и изучать их по порядку. Те, кто имеет опыт в программировании на VBA, могут сразу же перейти к интересующим темам.
- Часть 1: Оформление кода
- Часть 2: Типы данных, переменные и константы
- Часть 3: Массивы
- Часть 4: Процедуры Function и Sub
- Часть 5: Условные операторы
- Часть 6: Циклы
- Часть 7: Операторы и встроенные функции
- Часть 8: Объектная модель Excel
- Часть 9: События в Excel
- Часть 10: Ошибки VBA
- Примеры по VBA
Более подробное описание по Excel VBA можно найти на сайте Microsoft Office.
