Как программировать в excel
5 полезных функций Excel для начинающих программистов
Работу в табличном редакторе Excel тоже можно автоматизировать и запрограммировать. Вы сможете здорово помочь своим бухгалтерам с отчётами, маркетологам — с анализом рекламы, а сами научитесь разбираться в алгоритмах.
Мы разберём 5 полезных функций Excel. Если вы думаете, что Excel — это только про цифры и таблички, то вот вам видео, где в Excel запрограммировали настоящую 3D-игру.
Чтобы было проще разобраться, все формулы и примеры мы записали в Excel-файл, который можно скачать и использовать для экспериментов. Каждый пример — на отдельной вкладке снизу.
Это одна из самых важных функций в Excel. Как и в настоящем языке программирования, она проверяет какое-то условие, и если оно выполняется — пишет в ячейку что-то одно, а если нет — пишет что-то другое.
В общем виде она выглядит так:
В условии может быть что угодно: сравнение ячеек, другие формулы, сравнения и математические команды — всё, что вам нужно проверить.
На практике можно сделать, например, так: пусть Excel проверяет возраст, и пишет документ, который в этом возрасте удостоверяет личность. До 14 лет это свидетельство о рождении, а после — паспорт. Для этого используем такую команду в ячейке:
Программа проверит, что стоит в предыдущей ячейке, и если там число меньше 14, то напишет «Свидетельство о рождении», а если уже есть 14 лет, то «Паспорт»:
СЧЁТЕСЛИ и СЧЁТЕСЛИМН
Часто бывает нужно посчитать количество строк или заполненных ячеек по каким-то параметрам, например узнать количество работников старше 40 лет, или посчитать все строки, где есть слово «переменная». Для этого используют функцию СЧЁТЕСЛИ:
Диапазон — это группа ячеек, в которых мы будем что-то искать, а условие — это по какому параметру мы решим, что ячейка нам подходит.
Допустим мы ведём семейный бюджет и нам нужно узнать, сколько раз у нас были покупки больше 5000 рублей в одном чеке. Для этого используем такое:
Теперь посложнее. Если нам нужно посчитать количество ячеек по нескольким условиям одновременно, то используют функцию СЧЁТЕСЛИМН:
То, что в прямоугольных скобках — дополнительные условия, их может быть максимум 127, а сами скобки при этом ставить не нужно. Обратите внимание что для каждого нового условия можно задать свой диапазон. Функция проверит все условия, каждое в своём диапазоне, и если все условия одновременно выполняется — посчитает количество таких ячеек.
Для примера найдём все траты больше 5000 в одном чеке, за которые отвечает Миша:
Теперь у нас первый диапазон отвечает за сумму в чеке, а второй — за имена, поэтому и условия у каждого из них разные.
Функция возвращает максимальное значение из выбранного диапазона:
Давайте используем её, чтобы найти самую дорогую покупку в бюджете из предыдущего примера. Для этого запишем её так:
ПОИСКПОЗ
Поиск позиции часто используют, когда нужно найти положение определённого элемента в таблице:
Значение — то, что нам нужно найти в таблице, диапазон просмотра — где именно мы будем искать наше значение. Если в качестве диапазона укажем столбец с цифрами, то функция вернёт номер в этом столбце, где встречается нужная цифра.
Давайте найдём номер строки с максимальной покупкой:
Это число нам понадобится для следующей функции
ИНДЕКС
Эта функция возвращает значение конкретной ячейки в указанном диапазоне:
=ИНДЕКС(диапазон; номер_строки; [номер_столбца])
Если в диапазон ячеек входит только один столбец, достаточно будет указать только номер строки. Когда в выбранном диапазоне получается два столбца и больше, можно будет выбрать его номер, чтобы точно обозначить ячейку.
Попробуем в нашем примере с бюджетом найти того, кто сделал самую большую покупку. Мы уже знаем номер строки, в которой записана самая большая сумма, и на этой же строке записан тот, кто эту сумму потратил. Используем это:
Когда Excel встретит такую формулу, он возьмёт наш диапазон из второго столбца, затем возьмёт номер строки с самой большой покупкой (она у нас в ячейке Е10, нашли в прошлом примере), и определит, что самую крупную покупку сделал Миша.
Что дальше
Вы уже знаете достаточно для того, чтобы вести в Excel свой семейный или личный бюджет. Используйте наши формулы и анализируйте полученные данные. В следующей статье мы расскажем о том, как менять внешний вид ячеек и поговорим о новых функциях.
Начала программирования в Excel
Предисловие
Эта книга посвящена Excel — основам программирования в Excel , связи Excel с базами данных и другими источниками данных, анализу офисной деятельности, выполняемыми средствами Excel , созданию интерактивных документов в Excel , приданию Web -страницам функциональности Excel . Отдавая должное этому замечательному приложению, я и решил назвать книгу «Мир объектов Excel 2000».
Почему не просто «Мир Excel 2000»? Видимо, потому что я предпочитаю смотреть на все, что происходит в Excel , с объектной точки зрения, рассматривать все происходящее как действия над объектами. Да и описанию самих объектов в этой книге уделяется достаточно много внимания. При этом в круг рассмотрения входят не только объекты самого Excel . Мир объектов Excel более широк. Так или иначе, в рассмотрении появляются общие объекты Office 2000, объекты других приложений, в книге, например, много внимания уделяется связи Excel и Access. Помимо объектов Excel в книге подробно рассматриваются еще две группы объектов — ADO и OWC. Объекты ADO , позволяющие организовать доступ к базам данных, несомненно, входят в мир Excel , поскольку, чаще всего, Excel является тем приложением, где обрабатываются данные, хранимые в различных источниках. Компоненты OWC, обладающие функциональностью Excel , — их объектная модель — это тоже часть мира объектов Excel . Без этих объектов не обойтись, если Ваше решение переносится в интранет или интернет , и Вы захотите создать Web -узел, страницы которого обладают функциональностью Excel документов.
Что же можно найти в этой книге, и кому она предназначена?
Эта книга предназначена тем, кто создает решения на базе Excel . Конечно, в первую очередь речь идет о тех, кто уже использует программирование на VBA и VBScript при создании своих решений. Но я думаю, что и те, кто давно работает в Excel , но еще не использовал программные способы настройки своих решений, могут начать с этой книги, хотя, предупреждаю, требуется определенная программистская подготовка.
Первые две лекции посвящены началам программирования в Excel . Они, надеюсь, доступны опытным пользователям и начинающим программистам. Думаю, что их с интересом прочтут и те, кто занимается обучением программированию в любой среде программирования. Я высказываю и пытаюсь обосновать здесь «крамольную» мысль о том, что Excel является прекрасной средой начального обучения программированию в школе и в вузах. Надеюсь, что и опытные программисты найдут здесь кое-что полезное для себя, особенно, во второй главе, адресованной математикам.
Глава 3 дает описание объектной модели Excel . Подробно рассмотрены все основные действующие лица этой модели — объекты Application , WorkBook, WorkSheet, Chart , Range и другие. Понятно, что при раскрытии этой темы без технических деталей не обойтись, поэтому чтение главы довольно утомительно, но как справочный материал, она, надеюсь, будет весьма полезной.
Базы данных и другие источники данных — это одна из ведущих тем этой книги. Глава 4 » Excel и базы данных » начинает эту тему. В этой же главе дается знакомство с приложением Access, на примере показано, как строится база данных в Access, изучаются связи Excel и Access.
Пятая и шестая главы книги посвящены объектам ADO . Уже то, что этим объектам посвящены две главы, говорит о степени подробности рассмотрения этой темы. Объекты ADO задают интерфейс между самыми разнообразными источниками данных и клиентским приложением, где эти данные обрабатываются. Таким приложением совсем не обязательно должен быть Excel , сфера применения объектов ADO значительно шире. Но Excel это одна из наиболее подходящих кандидатур на роль такого клиентского приложения. Чтение этих глав требует определенной подготовки и ориентированно на более продвинутых программистов.
Седьмая глава книги посвящена разработке интерактивных документов. Она носит в определенном смысле центральный характер. В ней рассматривается весь процесс создания интерактивного документа Excel . Этот документ можно считать примером создаваемого в Excel типичного решения, в котором программный проект играет определяющую роль. Предлагаемое решение использует базу данных Access и объекты ADO для организации связи с базой данных. Здесь же обсуждается и ряд других вопросов, важных в практической работе, начиная от организации интерфейса пользователя до получения печатной формы документа.
Глава 8 посвящена вопросам, возникающим при анализе офисной деятельности. В ней делается попытка сочетать содержательное рассмотрение, например, рассмотрение того, как проводить анализ типа «Что, если …» с рассмотрением средств Excel , используемых в таком анализе. Здесь рассматриваются сводные таблицы и сводные диаграммы, сценарии , методы прогнозирования и многое другое.
В девятой главе подробно обсуждается создание проекта под названием «MasterF». С содержательной точки зрения рассматривается задача оптимального выбора инвестиционных вложений. В проектном решении используется мощный встроенный инструмент Excel — решатель Solver, позволяющий решать сложные оптимизационные задачи. Данный проект демонстрирует построение надстройки над встроенным инструментарием Excel . Полагаю, что он может иметь не только учебную, но и практическую ценность для тех, кто решает подобные задачи.
В главе 10 в рассмотрение вводятся новые объекты, тесно связанные с Excel . В этой главе рассматриваются Office Web Components — компоненты OWC. По моему мнению, эти компоненты являются лучшим продуктом, созданным Microsoft в области компонентного программирования. Они дают возможность добавить функциональность Excel в свои решения без использования самого Excel и других приложений Office 2000. Основное предназначение этих компонент — обеспечение корпоративной работы с документами в интрасетях, что позволяет создавать интерактивные страницы Web -узлов, обладающие функциональностью Excel . При рассмотрении этих компонент большое внимание уделяется программной работе с этими компонентами, возможности программной настройки Web -документов, использующих эти компоненты.
Глава 11 посвящена введению в Web — программирование . Я подробно рассматриваю процесс создания интерактивного Web -документа. Ключевым словом здесь является » интерактивность «, поскольку, по большому счету, вся эта книга о том, как придать нужную интерактивность создаваемым документам. Глава носит вполне самостоятельный характер, но, по сути, является естественным продолжением двух тем, рассматриваемых в главах 7 и 10, поскольку с одной стороны речь идет о создании интерактивного документа, с другой — документа Web , страницы которого могут обладать функциональностью Excel . Замечу, что при рассмотрении вопросов создания интерактивного Web -документа, я ограничиваюсь рассмотрением программных продуктов от Microsoft. Так что роль Web -сервера, выполняющего сценарии на серверной стороне, играет IIS — Internet Information Server , соответствующие страницы узла являются ASP-страницами, а обозреватель, выполняющий код на клиентской стороне, это Internet Explorer.
Главу 12 я решил посвятить описанию проектов, выполненных студентами, которым я читал курс «Офисное программирование «. Надеюсь, что часть проектов, о которых идет речь в этой главе, будут на сервере, их программный код открыт и доступен для изучения. Работы студентов расширяют множество примеров, рассмотренных в книге, и являются хорошей иллюстрацией возможностей офисного программирования. Все игры ориентированы, в первую очередь , на школьников, но не только на них. Большинство игр относится к классу «развивающих» игр, направленных на развитие логического мышления. Среди игр есть вариации известных игр — Lines, Tetris, Digger, игры-головоломки, известная карточная игра «Подкидной дурак» и другие игры.
Завершая предисловие, хочу сказать, что предлагаемый курс тесно связан с книгами серии «Офисное программирование «, вышедшими в издательстве «Русская редакция». Есть явные и неявные ссылки в тексте многих глав:
- «VBA в Office 2000. Офисное программирование,
- «Средства разработки VBA-программиста». Офисное программирование,
- Мир объектов Excel 2000. Средства разработки VBA-программиста.
Хорошо, если читатели знакомы с этими книгами, или прошли курсы по первым двум книгам, но это не обязательное требование. Пройти данный курс можно вполне самостоятельно. Скажу даже, что я старался, по возможности, сделать каждую главу доступной для независимого чтения.
Просьба к читателям. Поскольку курс построен на основе ранее вышедшей книги и практически не подвергался переделке, то возможны «висячие ссылки», имеющие смысл только для книги. Часть материала уже устарела. Постарайтесь быть снисходительными к этим огрехам. Я искренне верю, что основное содержание не потеряло своей ценности и может быть полезным всем, кто так или иначе связан с офисным программированием.
Знакомство с программированием в Excel
Добавление на ленту вкладки разработчика
Написание кода Ваших процедур и редактирование макросов производится в редакторе Visual Basic, который доступен с вкладки «Разработчик». Данная вкладка по умолчанию скрыта. Для ее отображения необходимо выполнить следующие действия:
Для Excel 2007. Зайдите в параметры Excel, используя кнопку Office, и в «основных параметрах работы с Excel» установите галочку на пункте «Показывать вкладку Разработчик на ленте».
Для Excel 2010 и 2013. В параметрах Excel нужно выбрать пункт «Настроить ленту» и в категории основные вкладки установить галочку для вкладки «Разработчик».
Знакомство с редактором Visual Basic в Excel
Чтобы попасть в редактор кода, кликните на вкладке разработчика в области «Код» по кнопке «Visual Basic».
После этого на экране появится новое окно редактора VBA. Рассмотрим ниже некоторые его элементы, которые могут понадобиться в самом начале.
№1 на изображении. Кнопка сохранить. Сохраняет текущую книгу Excel. Необходимо быть внимательнее при работе с несколькими книгами, так как текущей считается та, которая выделена в окне проектов (№3 на изображении).
№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) к дереву выбранного проекта добавится вновь созданный модуль.
Добавьте в модуль следующий код:
Данная процедура выводит на экран диалоговое окно с сообщением «Привет пользователь!». Протестируйте ее работу, нажав кнопку 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, который состоит из необязательного ключевого слова Call и имени вызываемой подпрограммы:
Автоматизация задач с помощью средства записи макросов — Excel
Для автоматизации повторяющихся задач в Microsoft Excel можно быстро записать макрос. Предположим, у вас есть даты в различном формате и вы хотите применить ко всем из них один формат. Это можно сделать с помощью макроса. Вы можете записать макрос, который применяет нужный формат, а затем запускать его при необходимости.
При записи макроса записываются все действия, описанные в Visual Basic для приложений (VBA) коде. Эти действия могут включать ввод текста или чисел, нажатие ячеек или команд на ленте или в меню, форматирование ячеек, строк или столбцов, а также импорт данных из внешнего источника, например Microsoft Access. Приложение Visual Basic (VBA) — это подмножество мощного языка программирования Visual Basic, которое входит в большинство приложений Office. Несмотря на то, что VBA обеспечивает возможность автоматизации процессов между приложениями Office, вам не нужно знать код VBA или программное программирование, если это нужно.
Важно знать, что при записи макроса регистрируются почти все ваши действия. Поэтому если вы допустите ошибку, например нажмете не ту кнопку, средство записи макросов зарегистрирует это действие. В таком случае можно снова записать всю последовательность или изменить код VBA. Поэтому перед записью процесса следует хорошо проработать его. Чем точнее вы запишете последовательность, тем более эффективно будет работать макрос.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».
Запись макроса
Перед записью макросов полезно знать следующее:
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Чтобы записать макрос, следуйте инструкциям ниже.
На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
В поле Имя макроса укажите имя макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш с CTRL+SHIFT, так как они будут заменять собой совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос. Например, если назначить сочетание клавиш CTRL+Z (Отменить), вы не сможете использовать его для функции «Отменить» в данном экземпляре Excel.
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в указанном расположении книги , но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите пункт Личная книга макросов . Если выбрать команду Личная книга макросов, Excel создаст скрытую личную книгу макросов (личное. xlsb), если она еще не существует, и сохранит макрос в этой книге.
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Кроме того, желательно ввести понятное описание, которое будет полезно вам и всем, кто запускает макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке разработчик в группе код нажмите кнопку остановить запись .
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. Кроме того, можно нажать клавиши ALT+F8. При этом откроется диалоговое окно Макрос.
Внимание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Сведения о параметрах безопасности макросов и их значении.
Макросы можно запускать различными способами, например с помощью сочетания клавиш, графического объекта, панели быстрого доступа, кнопки или даже при открытии книги.
С помощью редактора Visual Basic можно изменять макросы, присоединенные к книге.
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic.
Назначение макроса объекту, фигуре или графическому элементу
На листе щелкните правой кнопкой мыши объект, рисунок, фигуру или элемент, которому нужно назначить существующий макрос, а затем выберите команду назначить макрос.
В поле Назначить макроса выберите макрос, который вы хотите назначить.
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту.
Вы можете назначать макросы формам и элементам ActiveX на листе.
Узнайте, как включать и отключать макросы в файлах Office.
Открытие редактора Visual Basic
Нажмите клавиши ALT+F11.
Узнайте, как найти справку по элементам Visual Basic.
Работа с записанным кодом в редакторе Visual Basic (VBE)
С помощью редактора Visual Basic (VBE) вы можете добавлять в записанный код собственные переменные, управляющие структуры и другие элементы, которые не поддерживает средство записи макросов. Так как средство записи макросов фиксирует почти каждый шаг, выполняемый во время записи, может также потребоваться удалить ненужный код. Просмотр записанного кода — отличный способ научиться программировать на VBA или отточить свои навыки.
Пример изменения записанного кода можно найти в статье Начало работы с VBA в Excel.
Запись макроса
Перед записью макросов полезно знать следующее:
Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее.
Перейдите в раздел настройки > Excel. Панель инструментов & > ленты.
В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.
Чтобы записать макрос, следуйте инструкциям ниже.
На вкладке Разработчик нажмите кнопку Запись макроса.
В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
В списке Сохранить в выберите книгу, в которой вы хотите сохранить макрос.
Как правило, макрос сохраняется в указанном расположении книги , но если вы хотите, чтобы макрос был доступен при использовании Excel, выберите пункт Личная книга макросов. Если выбрать команду Личная книга макросов, в Excel будет создана скрытая личная книга макросов (личное. XLSB), если он еще не существует, и сохранение макроса в этой книге. Книги в этой папке открываются автоматически при запуске Excel, а код, хранящийся в личной книге макросов, будет указан в диалоговом окне Макрос, которое описано в следующем разделе.
Чтобы назначить сочетание клавиш для запуска макроса, в поле Сочетание клавиш введите любую строчную или прописную букву. Рекомендуется использовать сочетания клавиш, которые еще не назначены другим командам, так как они будут переопределять совпадающие с ними стандартные сочетания клавиш в Excel, пока открыта книга, содержащая макрос.
В поле Описание при необходимости введите краткое описание действий макроса.
Хотя поле «Описание» является необязательным, рекомендуется его заполнить. Полезно ввести понятное описание с любой полезной информацией, которая может быть полезна Вам или другим пользователям, которые будут запускать макрос. Если у вас много макросов, описания помогут быстро определить, для чего они нужны.
Чтобы начать запись макроса, нажмите кнопку ОК.
Выполните действия, которые нужно записать.
На вкладке Разработчик щелкните Остановить запись.
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. При этом откроется диалоговое окно Макрос.
Примечание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.