Программирование в вба эксель. Программирование в Excel

Инструкция

Запустите Microsoft Office Excel. Если необходимо, создайте новый документ. Для этого нажмите клавиши Ctrl+N или разверните меню «Файл» и выберите пункт «Создать...». Затем кликните по ссылке «Чистая книга» в панели «Создание книги».

Откройте окно редактора Visual Basic. Для этого нажмите сочетание клавиш Alt+F11 или выберите пункт «Редактор Visual Basic» в разделе «Макрос» меню «Сервис». Там вы увидите панель проекта, отображающую дерево объектов данной книги Excel, а также содержащиеся в ней формы, модули и модули классов.

Создайте формы, если это необходимо. В главном меню кликните по пункту Insert, а затем UserForm. В разделе Forms панели проекта добавится новый элемент. При создании форма будет автоматически открыта. Мышью переносите элементы управления из панели Toolbox в окно формы. Изменяйте их размеры и положение. После выделения мышью меняйте их свойства в панели Properties. Сохраняйте формы, нажав Ctrl+S.

Создайте нужное количество модулей или модулей классов. Для этого выбирайте пункты Module или Class Module в разделе Insert главного меню. Откройте окна редактирования кода нужных модулей или форм, дважды кликнув по соответствующим им элементам в окне проекта.

Добавьте декларации классов в модули классов. Определите их при помощи ключевого слова Class:
Class CSampleClass
End Class

В определения классов добавьте методы, а в модули - заготовки функций и процедур. Функции объявляются с помощью ключевого слова Function, после которого следует имя и набор параметров, через запятую, заключенных в скобки. Например:
Function SampleFunction(a, b, c)
End Function
Аналогично (только при помощи ключевого слова Sub) объявляются процедуры:
Sub SampleProcedure(a, b)
End Sub

Объявите члены классов, а также глобальные и локальные (в функциях и методах) переменные. Для этого используйте предложение Dim...As (после ключевого слова As указывается тип переменной). Например, объявление переменной oWB, хранящей ссылку на объект книги, может выглядеть так:
Dim oWB As Excel.Workbook
Указав размерность в круглых скобках, можно задекларировать массив:
Dim aWBooks(10) As Excel.Workbook

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

Источники:

  • как создать документ в excel

Visual Basic это среда для разработки ПО, которое разрабатывается компанией Microsoft, включает в себя язык программирования. Он унаследовал стиль и частично синтаксис своего предшественника, языка «Бейсик». Среда разработки Visual Basic включает в себя инструменты работы с конструированием пользовательского интерфейса.

Вам понадобится

  • - компьютер;
  • - установленная программа Visual Studio;
  • - навыки программирования.

Инструкция

Запустите программу Visual Studio, создайте проект , чтобы выполнить создание программы Visual Basic. Для этого выберите меню «Файл», а в нем команду «Создать проект ». В диалоговом окне выберите опцию «Приложение Windows» и щелкните по кнопке «ОК». В интерфейсе будет открыта форма. По умолчанию проект будет назван WindowsApplication1. Проект Visual Basic – это место, где хранятся части программы, и поддерживается их организация. Форма, которая открывается при создании проект а, представляет собой то окно, которое будет отображено при запуске программы. Соответственно, если в программе несколько окон, значит и в проект е может содержаться несколько форм.

Добавьте на форму элементы управления с панели элементов. Она располагается в левой части окна, содержит в себе несколько вкладок, в том числе «Все формы», «Компоненты», «Данные». В каждой вкладке есть определенный набор операций, который представляет элементы управления, либо компоненты, которые могут быть добавлены в приложении при создании проект а в Visual Studio.

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

Аналогично выполните добавление кнопок, справа от текстового блока. Далее выберите элемент, соответствующий разновидности проект а, например, «Web-браузер» и поместите его под панелью. Каждый добавленный элемент управления содержит специальный код, который определяет его внешний вид, а также задачи, которые выполняются данным элементом. Вы можете создать собственный код, например, для кнопки, чтобы изменить ее внешний вид, добавить выполнение определенной задачи, но это трудоемкий процесс. Гораздо проще выполнить это с помощью редактирования проект а в Visual Basic.

Далее выполните настройку внешнего вида программы, добавьте код, который определяет их поведение. По необходимости добавьте пользовательские элементы управления. Далее проведите пробный запуск и тестирование вашей программы, по необходимости вернитесь в конструктор проект а Visual Basic и исправьте недостатки.

Видео по теме

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

Инструкция

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

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

Формат файла: .chm

Справочник по функциям листа Excel (532,2 KiB, 15 462 скачиваний)

VBA Программирование в MSOffice - очень хороший учебник для начинающих программировать в VBA. Книга написана сертифицированным преподавателем Microsoft Office доступным для понимания языком, снабжена грамотными листингами кодов. Учебник поможет освоить программирование не только в Microsoft Excel, но и Microsoft Word и Microsoft Project.

Формат файла: .pdf

VBA Программироваие в MSOffice (4,1 MiB, 26 659 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.

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

Формат файла: .pdf

Office 2007. Самоучитель - Если Вы решили поближе познакомиться с интерфейсом и основными возможностями приложений Microsoft Office, то советую почитать данную книгу. В ней описано все необходимое для успешной работы в таких приложениях как: Excel, Word, Outlook, Power Point, Access. После прочтения Вы сможете создавать красивые презентации и информативные графики, научитель создавать задачи в Outlook и базы в Access.

Формат файла: .pdf

Русская справка по Visual Basic for Application(VBA) - Это официальная справка по Visual Basic for Application(VBA), которая была включена в пакет Microsoft Office 97. Тогда справка была еще русифицирована. Ни для кого не секрет, что сейчас во всех версиях офиса справка по VBA доступна только на английском языке, независимо от локализации. А по буржуйски не все могут читать(даже сносно, как показывает практика).
Хочу сразу предупредить - т.к. справка предназначена для довольно старой версии, в ней описаны не все методы и свойста. Но основная их масса все же описана и, надеюсь, данная справка поможет Вам в начальном изучении VBA.

Формат файла: .файл справки

RUS_VBA.zip (1,1 MiB, 9 164 скачиваний)
У Вас нет прав для скачивания этого файла. Возможно, Вы не зарегистрированы на сайте. Зарегистрируйтесь и попробуйте скачать снова.

Объекты Shell_RegExp и пр - целый сборник примеров работы с такими объектами как: Shell, RegExp, FileSystemObject, WshShell, Dictionary, WshNetwork, WScript, константы и функции WScript. Все примеры структурированы по разделам и сделаны в качестве справки по свойствам и методам каждого из объектов. Очень удобно, если не очень часто применяете в работе эти объекты и что-то забылось.

Для упрощения сбора информации, автоматизации ввода и вывода данных и многого другого используется программирование в excel.

Видео по написанию (программированию) макросов на VBA в Excel

VBA (Visual Basic for Applications) — разновидность языка программирования Visual Basic, входящая в пакет Microsoft excel

Программирование в excel ускоряет выполнение разнообразных задач на компьютере.

При написании кодов в excel программист использует:

  • Для написания кода существует два основных способа: писать внутри листа; внутри книги. Любая программа в рабочей среде excel начинается с ключевого слова «SUB», далее идет любое название с использованием букв или цифр, после чего открываем и закрываем скобки () и нажимаем «ENTER», образуется рабочая среда для написания программы. В рабочей среде набираем Аpplication, указываем ThisWorkBooks — эта книга, далее Sheet — листы, далее Cells(5,1) — номер ячейки, сначала пишется строка потом колонка. Программирование будет иметь такой вид: Аpplication — ThisWorkBooks — Sheets — Сells(5,1). Присваиваем этому адресу значение 10 через ключевой оператор присваивания «=» и запускаем программу на исполнение нажатием на кнопку «RunSub» или клавишей «F5». Присвоенное значение 10 окажется в указанном месте.

При работе с данным объектом в excel используется «среда разработки». «Среда разработки» вызывается сочетанием клавиш Сtrl+F11, после чего необходимо выбрать вкладку «View», далее «Обозреватель проекта», на котором будет отображено три элемента, два листа рабочей книги и сама книга excel.

DOM — Document object model (объектная модель документа) — независимый программный интерфейс, дающий возможность скриптам и программам находить доступ к содержимому , XHTML и HTML документов и менять оформление и структуру данных документов. DOM не ограничивает структуру документа, а представляет его в виде дерева узлов, любой из которых является элементом, атрибутом, графическим или текстовым объектом.

  • «Работа с переменными» — это слова или буквы, которые содержат в себе какое-то значение, например: Х=5, Y=10, с ними можно производить любые математические операции. Допустим, чтобы найти сумму данных значений с помощью программирования, в рабочей среде вводим следующую программу: Cells(2,1) = X+Y нажимаем «RunSub» или «F5» во 2 строке, 1 столбца отобразится 15 — сумма программируемых значений. Помимо чисел в значениях могут содержаться слова, единственное отличие, что программируемые слова должны браться в кавычки.

Программирование удобно в освоении и может использоваться обычными пользователями. Разработка макрокоманд (макросов) в VBA автоматизирует рабочий процесс увеличивая его производительность.

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

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

А теперь хватит воды, приступим к практике.

Создадим нашу первую программу в Excel и убедимся, что это легко и просто. Задача будет следующей – программа должна копировать значение с одной ячейки и вставлять в другую. Сделать это вручную элементарно. Поверьте написать нашу программу не сложнее, так как в этот раз мы пойдём по короткому пути, а именно запишем макрос. Для этого во вкладке «Вид» находим пиктограмму «Макросы» и жмём сточку «Запись макроса».

Получаем форму.

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

После чего остановим «Запись макроса» и сразу же там выбираем строку «Макросы», где видим, список наших макросов. Чтобы макрос запустить необходимо его выбрать и нажать «Выполнить». Другой способ это выполнить заранее указанное сочетание клавиш «Ctrl+h». Каждый раз при запуске макроса он будет выполнять действия, записанные в него ранее.

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

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

Всё, что записано в строке после верхней кавычки «’» - закомментировано и кодом исполнения не является. В комментариях обычно пишут описания программы. Первая строчка кода, а именно по порядку, последовательно выполняется макрос, от строчки к строчке, «Selection.Copy», если перевести, звучит «Выделение.Копировать». То есть копируется выделенная область. Вторая «Range(“C1”).Select» - Диапазон(“C1”).Выделить» - переход к ячейке «C1». «ActiveSheet.Paste» - «АктивныйЛист. Вставить» - вставляем в выделенную ячейку «С1» скопированное значение.

Теперь удалим этот код и запишем свой.

Мы записали четыре строки, где « a =1, b = 2» являются операции присвоения переменным «a и b» значений «1 и 2» соответственно, переменной «с» мы присвоили результат сложения «a и b». А строка «ActiveCell.Value = c», если перевести «АктивнаяЯчейка. Значение = с», то есть записать в активную ячейку значение переменной «с». Далее выполняем сохранение макроса – «Ctrl+S», переходим в лист Excel и выполняем блиц-команду вызова макроса «Ctrl+h».

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

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

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

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

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

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

№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) к дереву выбранного проекта добавится вновь созданный модуль.

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

Sub Моя_процедура() MsgBox "Привет пользователь!" End Sub

Данная процедура выводит на экран диалоговое окно с сообщением «Привет пользователь!». Протестируйте ее работу, нажав кнопку 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 библиотек.

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

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

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

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

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

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

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

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

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

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

Начало_Процедуры Любой код Первая строка дублирующего кода Любой код Последняя строка дублирующего кода Любой код Первая строка дублирующего кода Любой код Последняя строка дублирующего кода Любой код Конец_Процедуру

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

Начало_Главной_Процедуры Любой код Ссылка на Процедуру_дублирующегося_кода Любой код Ссылка на Процедуру_дублирующегося_кода Любой код Конец_Главной_Процедуру Начало_Процедуры_дублирующегося_кода Любой код Конец_Процедуры_дублирующегося_кода

Call Макрос1 "Следующая строка идентична предыдущей Макрос1

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

У Вас недостаточно прав для комментирования.