Как работает средство записи макросов в Excel 2010

Программа Excel предлагает средство записи макросов, эффективность которого составляет лишь 90%. К сожалению, остальные 10% приходятся на долю разочарованных пользователей. Макрос, создаваемый с помощью средства записи макросов, сможет обрабатывать лишь данные, определенные в жестко заданных ячейках. Это весьма эффективно, если обрабатываемая база данных занимает постоянный диапазон ячеек, например A1:L87601. Но если диапазон данных изменится, созданный ранее макрос окажется неработоспособным.

Это один из недостатков средства записи макросов. Было бы намного лучше, если бы средство записи макросов Excel могло идентифицировать обрабатываемый диапазон с данными, например, после нажатия клавиши End. На самом деле в программе Excel средство записи макросов используется очень часто, хотя, как правило, в дальнейшем приходится очищать автоматически созданный код.

Объектно-ориентированный код

VBA — это объектно-ориентированный язык. Большинство строк VBA-кода вводится согласно синтаксису Существительное.Глагол, который в VBA трактуется как Объект.Метод. Объектами могут выступать рабочие книги, рабочие листы, ячейки или диапазоны ячеек. К методам могут относиться операции в Excel, такие как .Copy, .Paste, .PasteSpecial. Многие методы содержат «наречия» — параметры, применяемые для настройки выполняемых операций. Если вы видите конструкцию со знаком присваивания, то знайте, что она описывает работу данного метода.

Еще одна разновидность кода — это присваивание значений характеристикам объекта. В VBA эти характеристики называются свойствами. Например, когда вы вводите выражение ActiveCell.Font.Colorlndex = 3, то указываете окрасить текст активной ячейки в красный цвет. Отметим, что для управления свойствами используется только знак равенства (=), а не :=.


Top