Содержание
- Начало работы с VBA в Office
- Причины использования VBA
- Автоматизация и повторяемость
- Расширения возможностей взаимодействия с пользователем
- Взаимодействие приложений Office
- Другой способ
- Введение в программирование на VBA
- Использование кода для выполнения операций приложениями
- Объектная модель
- Методы
- Свойства
- Макросы и редактор Visual Basic
- Включение вкладки «Разработчик»
- Проблемы безопасности
- Запись макроса
- Запись макроса
- Использование справки разработчика
- Редактирование кода
- Советы и приемы программирования
- Начните с примеров
- Упрощение задачи
- Ошибки и отладка
- Правильное использование справочных материалов
- Поиск в форумах и группах
- Более подробное изучение программирования
- Переменные
- Ветвление и циклы
- Все приложения на вкладке «Мой Office»: примеры кода
- Создание электронной почты в Outlook
- Удаление пустых строк на листе Excel
- Удаление пустых текстовых полей в PowerPoint
- Копирование контакта из Outlook в Word
- Поддержка и обратная связь
Начало работы с VBA в Office
Постоянно возникает проблема, вызванная повторяющейся очисткой данных в 50 таблицах в Word? Хотите, чтобы при открытии определенного документа пользователи получали запрос на добавление данных? Не знаете, как быстро и легко перенести список контактов из Microsoft Outlook в таблицу Microsoft Excel?
Вы можете выполнять эти задачи и значительно больше, используя Visual Basic для приложений (VBA) для Office — простой, но мощный язык программирования, который можно использовать для расширения приложений Office.
Данная статья предназначена для опытных пользователей Office, которые желают познакомиться с VBA и получить некоторое представление о том, как программирование может помочь им настроить Office.
Набор приложений Office обладает множеством возможностей. Существует множество разных способов создания, форматирования и управления документами, электронной почтой, базами данных, формами, электронными таблицами и презентациями. Значительное преимущество программирования на VBA в Office заключается в том, что почти каждое действие, осуществляемое с мышью, клавиатурой или диалоговым окном, можно выполнить с помощью VBA. Если действие можно выполнить с помощью VBA, значит в дальнейшем его можно легко осуществлять сотни раз. (На самом деле автоматизация повторяющихся задач — одно из наиболее частых применений VBA в Office).
Помимо возможности написания скрипта VBA для ускорения повседневных задач, VBA можно использовать для добавления новых функций в приложения Office или создания запросов и взаимодействия с пользователем ваших документов в соответствии с потребностями вашей организации. Например, можно написать код VBA, выводящий всплывающее сообщение, которое напоминает пользователям о необходимости сохранения документа на определенном сетевом диске при первой попытке его сохранения.
В этой статье описываются некоторые основные причины для использования возможностей программирования на VBA. Здесь описывается язык VBA и встроенные средства, которые можно использовать для работы со своими решениями. И, наконец, в данной статье можно найти советы и приемы, чтобы избежать некоторых распространенных ошибок программирования.
Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.
Причины использования VBA
Есть несколько основных причин использовать программирование на VBA в Office.
Автоматизация и повторяемость
Программирование на VBA эффектно и эффективно при создании решений для устранения повторяющихся проблем форматирования и исправлений. Например, вам когда-нибудь приходилось изменять стиль абзаца в верхней части каждой страницы в Word? Или менять формат нескольких таблиц, скопированных из Excel в документ Word или электронную почту Outlook? А вносить одинаковые изменения в несколько контактов Outlook?
Если имеется изменение, которое нужно внести более десяти или двадцати раз, возможно, стоит реализовать его с помощью VBA. Если изменение нужно внести несколько сотен раз, определенно следует рассмотреть VBA. Почти все изменения форматирования или редакторские правки, которые можно внести вручную, можно реализовать на VBA.
Расширения возможностей взаимодействия с пользователем
Иногда некоторые действия пользователей с документом или приложением Office обязательны или желательны, но не доступны в стандартном приложении. Например, нужно уведомлять пользователей о необходимости что-то сделать при открытии, сохранении или печати документа.
Взаимодействие приложений Office
Нужно скопировать все контакты из Outlook в Word и отформатировать их определенным способом? Или же нужно переместить данные из Excel в набор слайдов PowerPoint? Иногда простое копирование и вставка не работают так, как надо, или же это происходит слишком медленно. Воспользуйтесь программированием на VBA для работы с данными в двух или более приложениях Office одновременно, а затем измените содержимое в одном приложении с учетом содержимого в другом.
Другой способ
Программирование на VBA — это мощное решение, но данный подход не всегда является оптимальным. Иногда, чтобы достичь поставленных целей, имеет смысл воспользоваться другими методами.
Важнейший вопрос состоит в поиске более легкого способа. Перед запуском проекта VBA обратите внимание на встроенные инструменты и стандартные функциональные возможности. Например, если необходимо выполнить времяемкую задачу редактирования или размещения элементов, для решения проблемы следует рассмотреть возможность использования стилей или сочетания клавиш. Можете ли вы выполнить задачу единожды, а затем повторить ее с помощью сочетания клавиш CTRL+Y («Повторить»)? Можно ли создать документ правильного формата или с нужным шаблоном и затем скопировать содержимое в новый документ?
Приложения Office обладают множеством возможностей. Возможно, нужное решение уже в них предусмотрено. Узнайте больше об Office, прежде чем начинать программирование.
Перед созданием проекта VBA убедитесь, что у вас есть время на работу с VBA. Программирование требует внимания и может оказаться непредсказуемым. Если вы начинающий программист, тем более не стоит увлекаться программированием, если не хватает времени на внимательную работу. Попытки написать «скрипт на скорую руку» для решения проблемы в сжатые сроки может привести к напряженной ситуации. Если вы торопитесь, воспользуйтесь более привычными методами, даже если они сопряжены с монотонностью и повторениями.
Введение в программирование на VBA
Использование кода для выполнения операций приложениями
Написание кода может казаться очень сложным и непонятным процессом. На самом деле, его базовые принципы основаны на применении повседневной логики и вполне доступны. Объекты в приложениях Microsoft Office, созданные для получения инструкций, можно сравнить с кнопками телефона. Когда вы нажимаете кнопку, телефон распознает команду и включает соответствующую цифру в набираемую последовательность. При программировании вы взаимодействуете с приложением, отправляя инструкции различным объектам. Эти объекты эффективны, но у них есть свои ограничения. Они смогут делать только то, для чего были разработаны, и выполнять только ваши инструкции.
Например, представьте себе пользователя, который открывает документ Word, вносит несколько изменений, а затем сохраняет и закрывает его. Для программирования на VBA приложение Word предоставляет объект Document. Используя код VBA, можно заставить объект Document выполнять такие действия, как открытие, сохранение и закрытие.
В следующем разделе описывается организация объектов.
Объектная модель
Разработчики организуют объекты программирования в виде иерархии, и такая иерархия называется объектной моделью приложения. В Word, например, есть объект верхнего уровня Application, который содержит объект Document. Объект Document содержит объекты Paragraph и т. д. В объектных моделях приблизительно отражено то, что вы видите в пользовательском интерфейсе. Они являются концептуальной картой приложения и его возможностей.
Определение объекта называется классом, и вы, возможно, увидите, как два этих термина используются попеременно. С технической точки зрения класс — это описание или шаблон, используемый для формирования или создания экземпляра объекта.
Уже существующим объектом можно управлять, задавая его свойства и вызывая его методы. Если представить объект в виде имени существительного, свойства станут прилагательными, описывающими существительное, а методы — глаголами, которые приводят его в действие. Изменение свойства приводит к модификации определенной характеристики внешнего вида или поведения объекта. Вызов одного из методов объекта заставляет последний выполнить какое-либо действие.
Код VBA в этой статье взаимодействует с приложением Office, в котором многие объекты, которыми управляет код, уже настроены и работают (например, объект Application приложения, Worksheet в Excel, Document в Word, Presentation в PowerPoint, объекты Explorer и Folder в Outlook). Узнав основную структуру объектной модели и некоторые ключевые свойства объекта Application, которые предоставляют доступ к его текущему состоянию, можно расширить возможности приложения Office с помощью VBA в Office.
Методы
В Word, например, можно изменить свойства и вызвать методы текущего документа Word с помощью свойства ActiveDocument объекта Application. Это свойство ActiveDocument возвращает ссылку на объект Document, активный в приложении Word. «Возвращает ссылку на» означает «предоставляет доступ к».
В приведенном ниже коде выполняется именно то, что сказано; т. е. активный документ приложения сохраняется.
Прочитайте код слева направо: «В этом приложении с документом, на который ссылается ActiveDocument, вызовите метод Save «. Имейте в виду, что Save — это простейшая форма метода; для этого не требуется никаких подробных инструкций от вас. Объекту Document дается команда сохранения (Save), а дополнительные данные вводить не нужно.
Если методу требуются дополнительные данные, они называются параметрами. В приведенном ниже коде выполняется метод SaveAs, для которого требуется указать новое имя файла.
Значения, которые указываются в скобках после имени метода — это параметры. Здесь новое имя файла — параметр метода SaveAs.
Свойства
Для задания свойства используйте такой же синтаксис, что и для чтения свойства. В приведенном ниже коде выполняется метод для выбора ячейки A1 в Excel и затем задается свойство для записи данных в ячейку.
Первая задача при программировании на VBA — осознать объектную модель каждого приложения Office и научиться читать синтаксис объекта, метода и свойства. Во всех приложениях Office объектные модели похожи, но каждая из них обладает особенными характеристиками в соответствии с типом документов и объектов, которыми управляет.
В первой строке фрагмента кода указан объект Application, на этот раз это приложение Excel, а затем объект ActiveSheet, который предоставляет доступ к активному листу. После этого используется термин , который не так знаком, Range, что означает «определить диапазон ячеек таким образом». Код указывает Range создать себя только с A1 в качестве определенного набора ячеек. Другими словами, в первой строке кода объявляется объект Range и запускается метод для его выбора. Результат автоматически сохраняется в другом свойстве объекта Application с именем Selection.
Во второй строке кода задается значение свойства Value объекта Selection, равное «Hello World» и отображающееся в ячейке A1.
Самый простой код VBA может предоставлять доступ к объектам в приложении Office, с которым вы работаете, и задавать их свойства. Например, можно получить доступ к строкам в таблице Word и изменить их форматирование в скрипте VBA.
Это звучит просто, но может быть невероятно полезно. Написав такой код, можно освоить всю мощь программирования для внесения одинаковых изменений в несколько таблиц или документов в соответствии с определенной логикой или каким-то условием. Сделать 1000 изменений для компьютера почти то же самое, что 10, поэтому при работе с большими документами и при решении множества проблем VBA может оказаться очень полезен и сэкономить много времени.
Макросы и редактор Visual Basic
Теперь вы кое-что знаете об объектных моделях в приложениях Office. Возможно, вам не терпится попробовать вызвать методы объекта, задать его свойства и отреагировать на события объекта. Для этого необходимо написать свой код так, чтобы он распознавался в Office. Обычно это делается с помощью редактора Visual Basic. Несмотря на то, что он установлен по умолчанию, многие пользователи даже не догадываются о его наличии до тех пор, пока не включат его на ленте.
Все приложения Office используют ленту. Одной из вкладок на ленте является вкладка Разработчик, где можно вызвать редактор Visual Basic и другие инструменты разработчика. Так как в Office вкладка Разработчик не показана по умолчанию, необходимо вывести ее на экран, выполнив указанные ниже действия.
Включение вкладки «Разработчик»
На вкладке Файл выберите Параметры, чтобы открыть диалоговое окно Параметры.
Выберите пункт Настроить ленту в левой части диалогового окна.
В разделе Выбрать команды, расположенном слева в окне, выберите Часто используемые команды.
В разделе Настроить ленту, который находится справа в диалоговом окне, выберите Основные вкладки в раскрывающемся списке, а затем установите флажок Разработчик.
Нажмите кнопку OK.
В Office 2007 показ вкладки Разработчик выполняется путем нажатия кнопки Office, выбора пункта Параметры, а затем установки флажка Показать вкладку «Разработчик» на ленте в категории Популярные диалогового окна Параметры.
После включения вкладки Разработчик можно легко найти кнопки Visual Basic и Макрос.
Рис. 1. Кнопки на вкладке «Разработчик»
Проблемы безопасности
Для защиты документов Office от вирусов и вредоносных макросов не сохраняйте код макросов в стандартных документах Office со стандартным расширением файла. Следует сохранить код в файле с особым расширением. Например, сохраняйте макросы не в стандартном документе Word с расширением DOCX, а в специальном документе Word с поддержкой макросов и расширением DOCM.
При открытии DOCM-файла система безопасности Office все равно может запретить запуск макросов в документе, сообщая или не сообщая об этом. Изучите параметры и настройки центра управления безопасностью во всех приложениях Office. По умолчанию макросы отключены, но пользователь оповещается об этом и может включить их.
Можно указать специальные папки, в которых можно выполнять макросы, создав надежные расположения, надежные документы или надежных издателей. Самый универсальный способ — использовать надежных издателей. Этот способ подходит для работы с документами, у которых есть распространяемые вами цифровые подписи. Чтобы получить дополнительные сведения о параметрах безопасности в определенном приложении Office, откройте диалоговое окно Параметры, а затем выберите Центр управления безопасностью и Параметры центра управления безопасностью.
Некоторые приложения Office, такие как Outlook, сохраняют макросы по умолчанию в основном шаблоне на локальном компьютере. Хотя это позволяет уменьшить количество проблем с безопасностью на локальном компьютере при выполнении собственных макросов, для распространения своих макросов в этом случае потребуется стратегия развертывания.
Запись макроса
Если нажать кнопку Макрос на вкладке Разработчик, открывается диалоговое окно Макрос, которое предоставляет доступ к подпрограммам или макросам VBA, которые можно использовать из определенного документа или приложения. Кнопка Visual Basic открывает редактор Visual Basic, где можно создавать и редактировать код VBA.
На вкладке Разработчик в Word и Excel также есть кнопка Запись макроса, которая автоматически создает код VBA, позволяющий воспроизводить ваши действия в приложении. Запись макроса — это великолепное средство, которое можно использовать для изучения VBA. Читая такой код, можно понять язык VBA и объединить знания пользователя и программиста Office. Только помните о том, что этот код может быть запутанным, так как редактор макросов делает допущения насчет ваших намерений, которые не всегда точны.
Запись макроса
Создайте книгу в Excel и откройте вкладку Разработчик на ленте. Нажмите кнопку Запись макроса и оставьте все параметры по умолчанию в диалоговом окне Запись макроса, в том числе имя Макрос1 и расположение Эта книга.
Нажмите кнопку ОК, чтобы начать запись макроса. Обратите внимание, что текст кнопки изменяется на Остановить запись. Нажмите эту кнопку, когда выполните все записываемые действия.
Выберите ячейку B1 и введите классическую первую строку программиста — Hello World. Прекратите ввод текста и посмотрите на кнопку Остановить запись. Она серая, так как Excel ждет, пока вы завершите ввод значения ячейки.
Выберите ячейку B2, чтобы завершить действие в ячейке B1, а затем нажмите кнопку Остановить запись.
Выберите пункт Макросы на вкладке Разработчик, выберите макрос Макрос1, если он еще не выбран, и нажмите кнопку Изменить, чтобы просмотреть код Макрос1 в редакторе Visual Basic.
Рис. 2. Код макроса в редакторе Visual Basic
Созданный макрос должен выглядеть указанным ниже образом.
Учтите схожие моменты с предыдущим примером кода, в котором выбирается ячейка A1, и отличия от него. В этом примере кода выбирается ячейка B1, а затем строка «Hello World» записываются в активную ячейку. Кавычки вокруг текста обозначают строковое значение (в противоположность числовому значению).
Вспомните, что для отображения кнопки Остановить запись нужно было выбрать ячейку B2. Это действие также задается в строке кода. Средство записи макроса записывает каждое нажатие клавиши.
Строки кода, начинающиеся с апострофа и выделенные зеленым цветом — это комментарии, которые поясняют код или напоминают другим программистам его предназначение. VBA игнорирует любую строку или ее часть, которые начинаются с одинарной кавычки. Написание понятных и подходящих комментариев в коде очень важно, но в этой статье данная тема не затрагивается. В следующих ссылках на этот код в данной статье эти четыре строки комментариев отсутствуют.
Когда средство записи макроса генерирует код, оно использует сложный алгоритм для определения нужных методов и свойств. Если не удается распознать данное свойство, пользователь может воспользоваться множеством ресурсов. Например, в записанном макросе средство записи макроса сгенерировало код, который ссылается на свойство FormulaR1C1. Не знаете, что это значит?
Помните, что объект Application используется во всех макросах VBA. Записанный код работает с приложением в начале каждой строки.
Использование справки разработчика
Выберите FormulaR1C1 в записанном макросе и нажмите F1. Система справки запустит быстрый поиск, определит, что нужные темы есть в разделе «Разработчик» справки Excel, и укажет свойство FormulaR1C1. Можно щелкнуть ссылку, чтобы прочитать описание свойства, но прежде обратите внимание на ссылку Справочник по объектной модели Excel в нижней части окна. Щелкните ее, чтобы просмотреть список объектов, которые Excel использует в объектной модели для описания листов и их компонентов.
Выберите любой из них, чтобы просмотреть свойства и методы, которые применяются к этому объекту, а также ссылки на другие связанные с ними параметры. Многие записи справки содержат короткие примеры кода, которые могут быть полезны. Например, можно перейти по ссылкам в описании объекта Borders, чтобы узнать, как задать границу в VBA.
Редактирование кода
Код с границами отличается от записанного макроса. В объектной модели есть несколько способов адресации любого объекта (ячейки A1 в этом примере), что может вызывать затруднения.
Иногда самый лучший способ изучить программирование — вносить небольшие изменения в определенный рабочий код и смотреть, что получается. Попробуйте сделать это сейчас. Откройте Макрос1 в редакторе Visual Basic и измените код указанным ниже образом.
Используйте копирование и вставку, где это возможно, чтобы избежать опечаток.
Для запуска сохранять код не требуется, поэтому вернитесь в документ Excel, выберите Макросы на вкладке Разработчик, выберите Макрос1 и нажмите кнопку Запустить. Теперь в ячейке A1 есть текст Wow!, а вокруг него размещена граница из двойных линий.
Рис. 3. Результаты первого макроса
Только что вы записали макрос, прочитали документацию по объектной модели и написали простую программу на VBA, которая что-то делает. Поздравляем!
Программа не работает? Читайте дальше и узнайте о методах отладки в VBA.
Советы и приемы программирования
Начните с примеров
Сообщество программистов на VBA очень большое; поиск в Интернете почти всегда может дать пример кода на VBA, который выполняет почти те же действия, которые необходимы вам. Если не удается найти хороший пример, попробуйте разбить задачу на более мелкие модули и выполнить поиск каждого из них. Или попробуйте найти более общую, но аналогичную задачу. Если начать с примеров, это может сэкономить много времени.
Это не означает, что в Интернете всегда доступен бесплатный и качественный код. В действительности, в найденных программах могут быть ошибки. Идея в том, что примеры из Интернета или документации по VBA помогают начать работу. Помните, что для изучения программирования требуется время и умственные усилия. Перед тем как использовать очередное решение для решения проблемы, спросите себя, подходит ли VBA для этого.
Упрощение задачи
Программирование может быстро стать сложной задачей. Важно, особенно для новичка, разбивать задачу на мельчайшие логические модули, а затем отдельно писать и проверять каждую часть. Если перед вами слишком много кода и вы запутались, остановитесь и отложите задачу. Когда вы к ней вернетесь, скопируйте небольшую часть задачи в новый модуль, разберитесь с ней, напишите работающий код и проверьте его. Затем займитесь следующей частью.
Ошибки и отладка
Существует два основных вида ошибок программирования: синтаксические ошибки, которые нарушают грамматические правила языка программирования и ошибки времени выполнения, которые синтаксически правильны, но вызывают сбой, когда VBA пытается выполнить код.
Хотя исправлять синтаксические ошибки неприятно, их легко обнаружить; редактор Visual Basic выдает сопровождающееся звуковым сигналом сообщение об ошибке и меняет цвет текста, если при вводе кода найдена синтаксическая ошибка.
Например, в VBA строковые значения должны быть заключены в двойные кавычки. Чтобы узнать, что происходит при использовании одиночных кавычек, вернитесь в редактор Visual Basic и замените строку «Wow!» в примере кода на «Wow!» (т. е. слово Wow в одинарных кавычках). Если выбрать следующую строку, среагирует редактор Visual Basic. Сообщение об ошибке «Ошибка компиляции. Ожидается: выражение» не особо помогает, но строка, содержащая ошибку, становится красной, что говорит о синтаксической ошибке в этой строке. В результате программа не будет запускаться.
Нажмите кнопку ОК и измените текст на «Wow!».
Ошибки времени выполнения обнаружить сложнее, так как синтаксически все выглядит правильно, но при попытке выполнить код возникает сбой.
Например, откройте редактор Visual Basic и измените имя свойства Value на ValueX в макросе, намеренно вызывая ошибку среды выполнения, так как у объекта Range нет свойства ValueX. Вернитесь к документу Excel, откройте диалоговое окно Макрос и запустите Макрос1 еще раз. Вы увидите окно сообщения Visual Basic с описанием ошибки во время выполнения с текстом «Объект не поддерживает это свойство метода». Хотя этот текст не указан, выберите Отладка , чтобы узнать больше.
После возвращения в редактор Visual Basic будет включен специальный режим отладки, в котором желтым цветом выделяется строка кода с ошибкой. Как и ожидалось, желтым выделена строка со свойством ValueX.
Можно внести изменения в исполняемый код VBA, поэтому измените ValueX на Value и нажмите маленькую зеленую кнопку воспроизведения в меню Отладка. Программа должна запуститься без ошибок.
Будет полезно узнать, как эффективнее использовать отладчик для более длинных и сложных программ. Хотя бы изучите, как устанавливать точки останова, чтобы прекращать выполнение программы там, где нужно взглянуть на код, как добавлять контрольные значения, чтобы просматривать значения разных переменных и свойств во время выполнения кода, и как пошагово, строка за строкой, выполнять код. Все эти возможности доступны в меню Отладка, а серьезный пользователь отладчика обычно запоминает соответствующие сочетания клавиш.
Правильное использование справочных материалов
Чтобы открыть справочник разработчика, встроенный в справку Office, откройте справку в любом приложении Office, выбрав вопросительный знак на ленте или нажав клавишу F1. Затем справа от кнопки Поиск выберите стрелку раскрывающегося меню для фильтрации содержимого. Выберите Справочник разработчика. Если на левой панели не отображается содержание, щелкните маленький значок книги, чтобы открыть его, и разверните справочник по объектной модели.
Рис. 5. Фильтрация справки разработчика применяется ко всем приложениям Office
Время, потраченное на исследование справочника по объектной модели, быстро окупится. Когда вы изучите базовый синтаксис VBA и объектную модель приложения Office, с которым вы работаете, можно перейти от догадок к методичному программированию.
Конечно, центр разработки Microsoft Office — это прекрасный портал со статьями, советами и форумами сообщества.
Поиск в форумах и группах
Рано или поздно все программисты попадают в ситуацию, когда невозможно решить какую-либо проблему, даже прочитав все найденные статьи и проведя много бессонных ночей в поисках ее решения. К счастью, в Интернете появилось сообщество разработчиков, которые помогают друг другу при решении задач программирования.
Если поискать в Интернете «форум разработчиков Office», можно найти несколько таких групп обсуждений. Можно поискать «разработка Office» или описание проблемы и найти нужные форумы, блоги и статьи.
Если сделано все возможное, чтобы решить проблему, не бойтесь задать вопрос на форуме разработчиков. В таких форумах приветствуются вопросы от новичков-программистов, и многие опытные разработчики с радостью помогут им.
Далее описаны некоторые вопросы этикета, которых следует придерживаться при публикации на форуме разработчиков.
Перед публикацией поищите на сайте часто задаваемые вопросы или инструкции, которые следует соблюдать. Убедитесь, что публикация соответствует этим инструкциям и расположена в нужном разделе форума.
Представьте ясный и полный пример кода, и если он является частью более сложного кода, укажите это.
Опишите проблему четко и кратко и укажите действия, выполненные для решения проблемы. Не спешите и напишите вопрос, как можно лучше, даже если вы взволнованны или вам не хватает времени. Опишите ситуацию так, чтобы читатели поняли ее после первого прочтения.
Будьте вежливы и выражайте благодарность за все ответы.
Более подробное изучение программирования
Хотя это короткая статья, и в ней представлена лишь малая часть сведений о VBA и программировании, надеюсь, ее будет достаточно для начала.
В этом разделе кратко описываются некоторые другие важные темы.
Переменные
В примерах в этой статье использовались объекты, которые уже создало приложение. Иногда требуется создать собственные объекты для хранения значений или ссылок на другие объекты. Они называются переменными.
Чтобы использовать переменную в VBA, необходимо сообщить VBA, какой тип представляет переменная, с помощью оператора Dim. Затем задается значение переменной, и она используется для установки других переменных и свойств.
Ветвление и циклы
В примерах простых программ в этой статье код выполняется строка за строкой, сверху вниз. Реальные возможности программирования состоят в том, что можно определять, какие строки кода выполнять, в зависимости от одного или нескольких указанных условий. Эти возможности можно расширить, если повторять операцию нужное количество раз. Например, приведенный ниже пример кода расширяет Макрос1.
Введите или вставьте код в редакторе Visual Basic и запустите его. Следуйте инструкциям в появившемся окне сообщений и измените текст в ячейке A1 с «Wow!» на «Yes!», а затем выполните программу еще раз, чтобы ознакомиться с возможностями циклов. В этом примере кода показаны переменные, ветвление и циклы. Просмотрите его внимательно после выполнения и попробуйте определить, что происходит после выполнения каждой строки.
Все приложения на вкладке «Мой Office»: примеры кода
Вот несколько скриптов, которые можно попробовать. Каждый из них решает реальную задачу Office.
Создание электронной почты в Outlook
Помните, что бывают случаи, когда нужно автоматизировать электронную почту в Outlook или использовать шаблоны.
Удаление пустых строк на листе Excel
Помните, что можно выбрать столбец ячеек и запустить этот макрос, чтобы удалить все строки в выбранном столбце с пустыми ячейками.
Удаление пустых текстовых полей в PowerPoint
Имейте в виду, что в коде выполняется цикл по всем слайдам и удаляются все текстовые поля, в которых нет текста. Переменная-счетчик уменьшается, а не увеличивается, так как при каждом удалении объекта он удаляется из коллекции, что уменьшает счетчик.
Копирование контакта из Outlook в Word
Обратите внимание, что этот код копирует открытый контакт из Outlook в открытый документ Word. Этот код работает, только если в Outlook открыт контакт.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Источник
Д.А.
Маевский, Е.Ю. Маевская,
А.Ф.
Винаков
Основы
программирования на VBA
для Microsoft
Excel
Учебное
пособие
Министерство образования и науки
Украины
ОДЕССКИЙ
НАЦИОНАЛЬНЫЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Основы
программирования на VBA
для Microsoft
Excel
Учебное
пособие
для студентов
электротехнических специальностей
Часть 1
Утверждено на
заседании кафедры
теоретических
основ и общей электротехники
Протокол № 4
от 12.12.2003
Одесса
ОНПУ
2011
Составители:
Д.А. Маевский, канд.техн. наук, доц.
Е.Ю. Маевская,
канд.техн. наук, асс.
А.Ф. Винаков,
канд. техн. наук, доц.
Оглавление
1. |
4 |
1.1. |
5 |
1.2. Основные |
8 |
1.2.1. Объект |
8 |
1.2.2. Объект |
9 |
1.2.3. Объект |
10 |
1.2.4. |
11 |
1.3. Краткие |
12 |
1.3.1. Встроенная |
12 |
1.3.2. Основные |
14 |
2. |
20 |
3. Задания для |
39 |
Литература |
46 |
Программа
Microsoft
Excel
в основном известна как электронная
таблица. Многие по достоинству оценили
простоту и удобство работы с электронными
таблицами, их мощь при проведении сложных
вычислений, построении графиков и
диаграмм. Однако сравнительно немногие
знают, что Excel
еще является и развитой средой
программирования, в которой можно
составлять, отлаживать и выполнять
самые разнообразные программы. И совсем
немногие умеют это делать.
Цель настоящего
учебного пособия – в кратком и доступном
виде изложить весьма сложные вопросы
программирования для Microsoft
Excel
и помочь начинающим в освоении
программирования вообще и программирования
в среде Excel
в частности.
1. Основы объектно – ориентированного программирования на vba в среде Microsoft Excel
Microsoft
Excel,
как и практически все сегодняшние
системы программирования является
объектно – ориентированной средой. Это
означает, что мы работаем с Excel
как с неким объектом, который существует
независимо от нас, который может выполнять
определенные функции и самое главное
– которым мы имеем возможность управлять.
К сожалению, нельзя дать однозначный и
исчерпывающий ответ на вопрос «А что
же такое объект?», как нельзя однозначно
определить такие категории, как «время»,
«пространство» в философии и «вероятность»
в математике. Выше мы попытались дать
ответ на этот вопрос, подменив, однако,
его ответом на вопрос «Для чего нужны
объекты и что они могут делать?».
Рассмотрим,
например, такой всем хорошо известный
объект, как телевизор. Телевизор – это
прямоугольный ящик со стеклянным
экраном, на котором может возникать
изображение. Это мы все хорошо знаем.
Как физический объект телевизор может
характеризоваться некоторыми свойствами,
например, такими как длина, высота,
ширина, вес, цвет, материал из которого
изготовлен корпус. С точки зрения
инженера – электронщика, телевизор
характеризуется составом элементной
базы, способом формирования изображения
на экране, специфическими особенностями
схемного решения. Таким образом, можно
сказать, что телевизор, как объект
характеризуется каким-то набором
свойств,
характеризующих этот объект.
Еще мы
знаем, что телевизором можно управлять.
Это означает, что в ответ на наши
воздействия телевизор в свою очередь
будет как-то себя вести – изменять
громкость звучания, переключать каналы,
изменять яркость изображения или вообще
выключаться. Действия, которые объект
выполняет в ответ на внешние воздействия
называются методами
объекта.
В свою
очередь, можно заметить, что сложный
объект „телевизор” в свою очередь
состоит из других, вложенных в него
объектов. Так, экран
(электронно – лучевая трубка) телевизора
также является самостоятельным объектом,
имеющим свои собственные свойства и
методы. Действительно, ведь в телевизоре
один объект типа „электронно – лучевая
трубка” может быть заменен другим
подобным объектом без ущерба для
работоспособности самого телевизора.
Можно сказать, что элементы, из которых
состоит телевизор – резисторы,
конденсаторы, микросхемы также являются
объектами. Таким образом, объекты могут
быть вложенными друг в друга, образуя
сложные иерархические системы.
Как уже
было сказано, Microsoft
Excel
является объектно – ориентированной
средой. Это значит, работая в Excel,
пользователь фактически управляет теми
объектами, которые Microsoft
Excel
ему предоставляет. Что это за объекты?
Прежде всего, это сам Microsoft
Excel,
который предстает перед нами в виде
своего главного окна. В главном окне
расположены или могут быть визуализированы
другие объекты – главное меню, панели
инструментов, кнопки, листы рабочей
книги, ячейки и так далее. Фактически,
пользователь может сказать, что он
научился работать с Excel,
если он научился работать с теми
объектами, которые Excel
ему предоставляет. Эти объекты созданы
и наделены разнообразными методами
поведения программистами фирмы Microsoft.
Сейчас нам необходимо научиться
самостоятельно создавать свои
нестандартные объекты, наделять их
свойствами и манерой поведения и
предоставлять для работы другим
пользователям. Таким образом, мы должны
попробовать себя в роли творца. И это
совсем не сложно. Приступим.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
10.02.20167.35 Mб14Методичка архитекторы_инженерка рус.docx
- #
- #
- #
- #
- #
- #
- #
- #
Немногие знают, что первая версия популярного продукта Microsoft Excel появилась в 1985 году. С тех пор он пережил несколько модификаций и востребован у миллионов пользователей по всему миру. При этом многие работают лишь с малой толикой возможностей этого табличного процессора и даже не догадываются, как им могло бы облегчить жизнь умение программирования в Excel.
Что такое VBA
Программирование в Excel осуществляется посредством языка программирования Visual Basic for Application, который изначально встроен в самый известный табличный процессор от Microsoft.
К его достоинствам специалисты относят сравнительную легкость освоения. Как показывает практика, азами VBA могут овладеть даже пользователи, которые не имеют навыков профессионального программирования. К особенностям VBA относится выполнение скрипта в среде офисных приложений.
Недостатком программы являются проблемы, связанные с совместимостью различных версий. Они обусловлены тем, что код программы VBA обращается к функциональным возможностям, которые присутствуют в новой версии продукта, но отсутствуют в старой. Также к минусам относят и чрезмерно высокую открытость кода для изменения посторонним лицом. Тем не менее Microsoft Office, а также IBM Lotus Symphony позволяют пользователю применять шифрование начального кода и установку пароля для его просмотра.
Объекты, коллекции, свойства и методы
Именно с этими понятиями нужно разобраться тем, кто собирается работать в среде VBA. Прежде всего необходимо понять, что такое объект. В Excel в этом качестве выступают лист, книга, ячейка и диапазон. Данные объекты обладают специальной иерархией, т.е. подчиняются друг другу.
Главным из них является Application, соответствующий самой программе Excel. Затем следуют Workbooks, Worksheets, а также Range. Например, для обращения к ячейке A1 на конкретном листе следует указать путь с учетом иерархии.
Что касается понятия «коллекция», то это группа объектов того же класса, которая в записи имеет вид ChartObjects. Ее отдельные элементы также являются объектами.
Следующее понятие — свойства. Они являются необходимой характеристикой любого объекта. Например, для Range — это Value или Formula.
Методы — это команды, показывающие, что требуется сделать. При написании кода в VBA их необходимо отделять от объекта точкой. Например, как будет показано в дальнейшем, очень часто при программировании в «Эксель» используют команду Cells(1,1).Select. Она означает, что необходимо выбрать ячейку с координатами (1,1) т.е. A1.
Вместе с ней нередко используется Selection.ClearContents. Ее выполнение означает очистку содержимого выбранной ячейки.
Как начать
Прежде всего требуется создать файл и сохранить его, присвоив имя и выбрав тип «Книга Excel с поддержкой макросов».
Затем необходимо перейти в приложение VB, для чего достаточно воспользоваться комбинацией клавиш «Alt» и «F11». Далее:
- в строке меню, расположенном в верхней части окна, нажимают на иконку рядом с иконкой Excel;
- выбирают команду Mudule;
- сохраняют, нажав на иконку с изображением floppy disk;
- пишут, скажем так, набросок кода.
Он выглядит следующим образом:
Sub program ()
‘Наш код
End Sub
Обратите внимание, что строка «’Наш код» будет выделена другим цветом (зеленым). Причина в апострофе, поставленном в начале строки, который обозначает, что далее следует комментарий.
Теперь вы можете написать любой код и создать для себя новый инструмент в VBA Excel (примеры программ см. далее). Конечно, тем, кто знаком с азами Visual Basic, будет намного проще. Однако даже те, кто их не имеет, при желании смогут освоиться достаточно быстро.
Макросы в Excel
За таким названием скрываются программы, написанные на языке Visual Basic for Application. Таким образом, программирование в Excel — это создание макросов с нужным кодом. Благодаря этой возможности табличный процессор Microsoft саморазвивается, подстраиваясь под требования конкретного пользователя. Разобравшись с тем, как создавать модули для написания макросов, можно приступать к рассмотрению конкретных примеров программ VBA Excel. Лучше всего начать с самых элементарных кодов.
Пример 1
Задача: написать программу, которая будет копировать значение содержимое одной ячейки и затем записывать в другую.
Для этого:
- открывают вкладку «Вид»;
- переходят на пиктограмму «Макросы»;
- жмут на «Запись макроса»;
- заполняют открывшуюся форму.
Для простоты в поле «Имя макроса» оставляют «Макрос1», а в поле «Сочетание клавиш» вставляют, например, hh (это значит, что запустить программку можно будет блиц-командой «Ctrl+h»). Нажимают Enter.
Теперь, когда уже запущена запись макроса, производят копирование содержимого какой-либо ячейки в другую. Возвращаются на исходную пиктограмму. Нажимают на «Запись макроса». Это действие означает завершение программки.
Далее:
- вновь переходят на строку «Макросы»;
- в списке выбирают «Макрос 1»;
- нажимают «Выполнить» (то же действие запускается начатием сочетания клавиш «Ctrl+hh»).
В результате происходит действие, которое было осуществлено в процессе записи макроса.
Имеет смысл увидеть, как выглядит код. Для этого вновь переходят на строку «Макросы» и нажимают «Изменить» или «Войти». В результате оказываются в среде VBA. Собственно, сам код макроса находится между строками Sub Макрос1() и End Sub.
Если копирование было выполнено, например, из ячейки А1 в ячейку C1, то одна из строк кода будет выглядеть, как Range(“C1”).Select. В переводе это выглядит, как «Диапазон(“C1”).Выделить», иными словами осуществляет переход в VBA Excel, в ячейку С1.
Активную часть кода завершает команда ActiveSheet.Paste. Она означает запись содержания выделенной ячейки (в данном случае А1) в выделенную ячейку С1.
Пример 2
Циклы VBA помогают создавать различные макросы в Excel.
Циклы VBA помогают создавать различные макросы. Предположим, что имеется функция y=x + x2 + 3x3 – cos(x). Требуется создать макрос для получения ее графика. Сделать это можно только, используя циклы VBA.
За начальное и конечное значение аргумента функции берут x1=0 и x2=10. Кроме того, необходимо ввести константу — значение для шага изменения аргумента и начальное значение для счетчика.
Все примеры макросов VBA Excel создаются по той же процедуре, которая представлена выше. В данном конкретном случае код выглядит, как:
Sub programm()
x1 = 1
x2 = 10
shag = 0.1
i = 1
Do While x1 < x2 (цикл будет выполняться пока верно выражение x1 < x2)
y=x1 + x1^2 + 3*x1^3 – Cos(x1)
Cells(i, 1).Value = x1 (значение x1 записывается в ячейку с координатами (i,1))
Cells(i, 2).Value = y (значение y записывается в ячейку с координатами (i,2))
i = i + 1 (действует счетчик);
x1 = x1 + shag (аргумент изменяется на величину шага);
Loop
End Sub.
В результате запуска данного макроса в «Эксель» получаем два столбца, в первом из которых записаны значения для x, а во втором — для y.
Затем по ним строится график способом, стандартным для «Эксель».
Пример 3
Для реализации циклов в VBA Excel 2010, как и в других версиях, наряду с уже приведенной конструкцией Do While используется For.
Рассмотрим программу, которая создаст столбец. В каждой его ячейке будут записаны квадраты номера соответствующей строки. Использование конструкции For позволит записать ее очень коротко, без использования счетчика.
Сначала нужно создать макрос, как описано выше. Далее записываем сам код. Считаем, что нас интересуют значения для 10 ячеек. Код выглядит следующим образом.
For i = 1 to 10 Next
Команда переводится на «человеческий» язык, как «Повторять от 1 до 10 с шагом один».
Если ставится задача получить столбец с квадратами, например, всех нечетных чисел из диапазона от 1 до 11, то пишем:
For i = 1 to 10 step 1 Next.
Здесь step — шаг. В данном случае он равен двум. По умолчанию отсутствие этого слова в цикле означает, что шаг единичный.
Полученные результаты нужно сохранять в ячейки с номером (i,1). Тогда при каждом запуске цикла с увеличением i на величину шага автоматически будет расти и номер у строки. Таким образом, произойдет оптимизация кода.
В целом код будет выглядеть, как:
Sub program()
For i = 1 To 10 Step 1 (можно записать просто For i = 1 To 10)
Cells(i, 1).Value = i ^ 2 (т.е. в ячейку (i,1) записывается значение квадрата i)
Next (в некотором смысле играет роль счетчика и означает еще один запуск цикла)
End Sub.
Если все сделано правильно, в том числе запись и запуск макроса (см. инструкцию выше), то при его вызове каждый раз будет получаться столбец заданного размера (в данном случае состоящий из 10 ячеек).
Пример 4
В повседневной жизни сплошь и рядом возникает необходимость принять то или иное решение в зависимости от какого-то условия. Не обойтись без них и в VBA Excel. Примеры программ, где дальнейший ход выполнения алгоритма выбирается, а не предопределен изначально, чаще всего используют конструкцию If …Then (для сложных случаев) If …Then …END If.
Рассмотрим конкретный случай. Предположим, необходимо создать макрос для «Эксель», чтобы в ячейку с координатами (1,1) было записано:
1, если аргумент положительный;
0, если аргумент нулевой;
-1, если аргумент отрицательный.
Создание такого макроса для «Эксель» начинается стандартным способом, через использование «горячих» клавиш Alt и F11. Далее записывается следующий код:
Sub program()
x= Cells(1, 1).Value (эта команда присваивает x значение содержимого ячейки с координатами (1, 1))
If x>0 Then Cells(1, 1).Value = 1
If x=0 Then Cells(1, 1).Value = 0
If x<0 Then Cells(1, 1).Value = -1
End Sub.
Остается запустить макрос и получить в «Эксель» нужное значение для аргумента.
Функции VBA
Как вы уже могли заметить, программировать в самом известном табличном процессоре Microsoft не так уж сложно. Особенно, если научиться применять функции VBA. Всего в этом языке программирования, созданном специально для написания приложений в «Эксель» и Word, около 160 функций. Их можно разделить на несколько больших групп. Это:
- Математические функции. Применив их к аргументу, получают значение косинуса, натурального логарифма, целой части и пр.
- Финансовые функции. Благодаря их наличию и используя программирование в Excel, можно получать эффективные инструменты для ведения бухгалтерского учета и осуществления финансовых расчетов.
- Функции обработки массивов. К ним относятся Array, IsArray; LBound; UBound.
- Функции VBA Excel для строки. Это достаточно многочисленная группа. В нее входят, например, функции Space для создания строки с числом пробелов, равных целочисленному аргументу, или Asc для перевода символов в код ANSI. Все они имеют широкое применение и позволяют работать со строками в «Эксель», создавая приложения, значительно облегчающие работу с этими таблицами.
- Функции преобразования типа данных. Например, CVar возвращает значение аргумента Expression, преобразовав его в тип данных Variant.
- Функции работы с датами. Они значительно расширяют стандартные возможности «Эксель». Так, функция WeekdayName возвращает название (полное или частичное) дня недели по его номеру. Еще более полезной является Timer. Он выдает число секунд, которые прошли с полуночи до конкретного момента дня.
- Функции для преобразования числового аргумента в разные системы счисления. Например, Oct выдает в восьмеричное представление числа.
- Функции форматирования. Важнейшей из них является Format. Она возвращает значение типа Variant с выражением, отформатированным согласно инструкциям, которые заданы в описании формата.
- и пр.
Изучение свойств этих функций и их применение позволит значительно расширить сферу применения «Эксель».
Пример 5
Попробуем перейти к решению более сложных задач. Например:
Дан бумажный документ отчета фактического уровня издержек предприятия. Требуется:
- разработать его шаблонную часть посредством табличного процессора «Эксель»;
- составить программу VBA, которая будет запрашивать исходные данные для ее заполнения, осуществлять необходимые расчеты и заполнять ими соответствующие ячейки шаблона.
Рассмотрим один из вариантов решения.
Создание шаблона
Все действия осуществляются на стандартном листе в Excel. Резервируются свободные ячейки для внесения данных по месяцу, году, названию компании-потребителя, сумме издержек, их уровня, товарооборота. Так как количество компаний (обществ), относительно которых составляется отчет, не зафиксировано, ячейки для внесения значений по итогам и ФИО специалиста заранее не резервируют. Рабочему листу присваивается новое название. Например, «Օтчет».
Переменные
Для написания программы автоматического заполнения шаблона, необходимо выбрать обозначения. Они будут использоваться для переменных:
- NN– номер текущей строки таблицы;
- TP и TF – планируемый и фактический товарооборот;
- SF и SP – фактическая и планируемая сумма издержек;
- IP и IF – планируемый и фактически уровень издержек.
Обозначим теми же буквами, но с «приставкой» Itog накопление итога по данному столбцу. Например, ItogTP – касается столбца таблицы, озаглавленного, как «планируемый товарооборот».
Решение задачи с использованием программирования на VBA
Используя введенные обозначения, получаем формулы для отклонений. Если требуется осуществить расчет в % имеем (F – P) / P * 100, а в сумме — (F – P).
Результаты этих вычислений можно лучше всего сразу внести в соответствующие ячейки таблицы «Эксель».
Для итогов по факту и прогнозу получают по формулам ItogP=ItogP + P и ItogF=ItogF+ F.
Для отклонений используют = (ItogF – ItogP) / ItogP * 100, если расчет ведется в процентах, а в случае суммарной величины — (ItogF – ItogP).
Результаты опять же сразу записываются в соответствующие ячейки, поэтому нет необходимости их присваивания переменным.
Перед запуском созданной программы, требуется сохранить рабочую книгу, например, под названием «Отчет1.xls».
Клавишу «Создать отчетную таблицу» требуется нажать всего 1 раз после ввода заголовочной информации. Следует знать и другие правила. В частности, кнопка «Добавить строку» должна нажиматься каждый раз после ввода в таблицу значений по каждому виду деятельности. После занесения всех данных требуется нажать кнопку «Закончить» и затем переключиться в окно «Эксель».
Теперь вы знаете, как решать задачи для Excel с помощью макросов. Умение применять vba excel (примеры программ см. выше) может понадобиться и для работы в среде самого популярного на данный момент текстового редактора «Ворд». В частности, можно путем записи, как показано в самом начале статьи, или через написание кода создавать кнопки меню, благодаря которым многие операции над текстом можно будет осуществлять нажатием дежурных клавиш или через вкладку «Вид» и пиктограмму «Макросы».
- Введение в программирование в Excel
Программирование в Excel (Содержание)
- Введение в программирование в Excel
- Как программировать в Excel?
Введение в программирование в Excel
Вы когда-нибудь уставали выполнять задачи в Excel, которые, по вашему мнению, могут быть автоматизированы и сэкономить ваше время? В большинстве случаев вы сталкивались с такими задачами. Однако для того, чтобы автоматизировать любую задачу, вам прежде всего необходимо иметь навыки программирования для этого конкретного языка. В Excel вы можете выполнять программирование с помощью Visual Basic for Application (VBA), который является собственным языком программирования Excel, который может помочь вам автоматизировать задачи. В этой статье мы увидим, как мы можем заниматься программированием в Excel VBA. VBA можно использовать для написания программы, которая может автоматизировать задачу для вас. Часть строк, которую мы пишем в VBA, называется Macro, которая написана таким образом, что они инструктируют систему Excel о том, что нужно сделать.
Как программировать в Excel?
Давайте разберемся, как программировать в Excel с несколькими иллюстрациями.
Включение вкладки разработчика
Первое, что приходит, это включение вкладки разработчика, которая помогает вам записывать и хранить макрос (код VBA). Давайте посмотрим, как мы можем включить это.
- Перейдите в меню « Файл» в вашем файле Excel и нажмите на него.
- В меню «Файл» нажмите « Параметры», и откроется новое окно со всеми доступными параметрами Excel.
- В появившемся новом окне с именем « Параметры Excel» перейдите на вкладку « Настройка ленты ». Вы можете увидеть все параметры настройки, которые вы можете использовать для ленты Excel, которая отображается в верхней части файла Excel.
- Включите параметр « Разработчик» в раскрывающемся списке «Основные вкладки» в разделе « Настройка ленты: ». Вы можете отметить (отметить) вкладку « Разработчик », чтобы включить ее. Нажмите кнопку ОК, расположенную в правом нижнем углу вкладки Параметры Excel, и все.
- Вы успешно включили опцию Разработчик в вашем Excel. Если вы проверите ленту Excel в своем файле сейчас, вы сможете увидеть новую вкладку, добавленную туда с именем Developer.
Это первый шаг, который вы должны выполнить, прежде чем начать писать макросы в Excel. Потому что вкладка «Разработчик» — это то, что нужно для записи и запуска макроса. Эта вкладка по умолчанию не включена, и поэтому мы сначала попробовали включить ее здесь.
Запись макроса
- Откройте файл Excel. Перейдите на вкладку « Разработчик », которую вы только что включили, а затем нажмите кнопку « Записать макрос», классифицируйте ее и можно увидеть в разделе « Код ».
- Как только вы нажмете кнопку «Запись макроса», вы увидите всплывающее окно, в этом окне вам нужно будет присвоить имя макросу, вы также можете назначить горячую клавишу для запуска этого макроса. Можно добавить описание, если таковое имеется для этого макроса, который вы создаете. Как только вы закончите со всем этим, вы можете нажать на кнопку ОК, расположенную в правой нижней части окна. Смотрите скриншот ниже для вашей справки.
Как только вы нажмете OK, система начнет запись макроса, и все выполняемые вами задачи будут записаны и преобразованы в программу Excel в бэкэнде.
- Попробуйте ввести предложение «Это мой первый код VBA, и я очень счастлив!» В ячейке A1 на листе Excel и нажмите клавишу «Ввод». Эти шаги будут записаны в серверной части макроса.
- В разделе «Код» вы могли заметить, что кнопка «Запись макроса» была изменена на «Остановить запись». Это как Play and Stop. Макрос записи работает как кнопка воспроизведения, а остановка записи работает как кнопка остановки. Нажмите кнопку «Остановить запись», чтобы остановить запись.
Волшебство, стоящее за всем этим, заключается в том, что Excel записал мои шаги здесь и преобразовал их в фрагменты кода, чтобы эта задача могла быть автоматизирована. Это означает, что каждый шаг, выбрав ячейку A1, введите текст «Это мой первый код VBA, и я счастлив!», Нажав Enter, чтобы перейти к следующей ячейке. Все эти шаги преобразуются в код VBA. Давайте проверим код сейчас.
- Чтобы перейти к редактору Visual Basic, вы можете щелкнуть параметр Visual Basic в категории « Код » на вкладке « Разработчик » или использовать Alt + F11 в качестве ярлыка для того же.
- Перейдите к разделу « Модули » в VBAProject и нажмите кнопку «плюс» под ним, чтобы увидеть список активных модулей в VBA.
- Внутри папки Modules вы можете увидеть Module1, как только вы нажмете на знак плюс. Вы можете дважды щелкнуть на модуле 1, где записан ваш код для задачи, которую мы выполняли на предыдущих шагах (шаги 3 и 4). Сохраните этот код, и вы сможете запускать его каждый раз, чтобы получить один и тот же вывод. Смотрите скриншот ниже:
Вывод
- Мы можем записать макрос в Excel, чтобы автоматизировать повседневные небольшие задачи, которые проще для системы манипулировать программно.
- Самое классное в этом то, что вам не нужно копать голову глубоко для логики каждого выполняемого вами шага. Excel VBA сделает это за вас.
- Для некоторых сложных задач, таких как та, которая включает в себя циклические и условные операторы, вам нужно написать код вручную в VBA.
Что нужно помнить о программировании в Excel
- Вкладка «Разработчики» по умолчанию не включена и отображается в ленте Excel. Вам нужно включить его через параметры Excel.
- Запись макроса работает над простыми задачами, которые повторяются, и вам нужно автоматизировать их. Тем не менее, для сложных задач, которые включают в себя циклы или условные входы и выходы, их все равно необходимо кодировать вручную в VBA.
- Вам необходимо сохранить файл в формате Excel-Macro Enable, чтобы иметь возможность читать и снова запускать код в Excel.
Рекомендуемые статьи
Это руководство по программированию в Excel. Здесь мы обсуждаем, как программировать в Excel вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —
- Компоненты ленты в Excel
- Введение в формулу TRIM в Excel
- Шаблон управления проектами в Excel
- Как использовать COUNTIFS в Excel?