Макрофункции ( Command Function) - это функции листа макросов Excel 4.0, до сих пор поддерживаемый Microsoft для совместимости с предыдущими версиями Excel. Лист макросов XLM (который еще называется листом макросов MS Excel 4.0) в сущности являлся тем же рабочим листом, но со своими стандартными настройками. В частности, на листе макросов XLM отображаются сами формулы, а не их результаты. Кроме того, стандартная ширина его столбцов больше, чем у обычного рабочего листа. Как можно понять из названия, лист макросов XLM предназначен для хранения макросов XLM. Система макросов XLM является "пережитком”, доставшимся нам от предыдущих версий Excel (4.0 и более ранних). До появления Excel 5 разработчиками использовался язык макросов под названием XLM (E xce l Macro). Более поздние версии Excel все еще выполняют макросы XLM, но, начиная с Excel 97, пользователи не имеют возможности записывать макросы на языке XLM. На рисунке показано как выглядел лист макросов и записанный на нём макрос (Макрос управляет выделенными ячейками. Он изменяет цвет фона ячеек и добавляет к ним границы): А так этот же макрос, записанный на языке VBA, выглядит сейчас (в стандартном модуле): Сейчас макрофункции можно использовать при написании макросов и некоторые из них в именах листа/книги. Приведу простой пример использования макрофункции ВЫЧИСЛИТЬ() в имени листа. На листе 1 есть вот такие текстовые данные: Как получить результат их работы? С помощью макрофункции ВЫЧИСЛИТЬ() очень просто. Создаём имя (всё-равно каким способом, я выбрал через диспетчер имён, Ctrl+F3). Присваиваем ему название (я выбрал EVALUATE - ВЫЧИСЛИТЬ по английски). В поле Диапазон вставляем функцию ВЫЧИСЛИТЬ(), в качестве аргумента вводим ссылку на левую верхнюю ячейку диапазона с данными (это важно!), в нашем случае это ячейка А1. Если ссылку Вы ввели, кликнув мышкой на ячейку, то по умолчанию она будет абсолютной. Измените её на относительную. Сохраняем имя. Теперь в ячейку В1 вводим созданное имя:
Жмём Enter и копируем В1 вниз:
Вот и искомый результат.
Особенностью макрофункций является то что они, в отличии от функций листа, могут выполнять действия, работать с форматированием, возвращать данные операционной системы, отправлять файлы по почте и многое другое, что не умеют функции листа.
|