- •Объектная модель
- •Полная и неявная ссылка на объект
- •Ссылка на активную рабочую книгу, лист, ячейку, диаграмму и принтер
- •Загрузка инсталлированной надстройки
- •Управление уровнем безопасности
- •Семейство встроенных диалоговых окон
- •Объект FileDialog
- •Методы объекта Application
- •Установка выполнения специфицированной процедуры при нажатии заданной комбинации клавиш
- •Переопределение горячих клавиш приложения
- •Проверка правописания отдельного слова
- •Симулирование ячеек рабочего листа
- •Электронные часы в ячейке рабочего листа
- •Получение данных из закрытой рабочей книги
- •События объекта Application
- •IgnoreReadOnlyRecommended — необязательный параметр, указывающий надо ли отображать предупреждение о том, что книга была сохранена в режиме "только для чтения";
- •Установка и снятие защиты книги
- •Методы объекта Worksheet
- •Объект Protection
- •События объекта Worksheet
- •Добавление к графическому объекту обработчика события Click
- •Примечание
- •Свойства объекта Range
- •Управление стилем границы диапазона и объекта Border
- •Функции rgb и qbColor
- •Доступ к отдельным ячейкам диапазона
- •Выбор элементов на рабочем листе или в книге
- •Объект Characters
- •Объект Comment
- •Определение текущего диапазона
- •Объект Font
- •Объект Interior
- •Установка числового формата
- •Переопределение размеров диапазона
- •Методы объекта Range
- •Табуляция функции
- •Заполнение диапазона по одному значению
- •Специальная вставка
- •Вставка диапазона с транспонированием
- •Бегущая картинка
- •Поиск значения в диапазоне
- •Повторный поиск и поиск всех значений
- •Поиск по формату
- •Замена значений
- •Ввод в диапазон неповторяющихся значений
- •Озвучивание текста
- •Построение графа
- •Пользовательские функции
- •Математические функции
- •Надстройки
- •Где хранятся макросы?
Пользовательские функции
В Excel наряду с использованием множества встроенных функций можно создавать и пользовательские. Пользовательскими являются обычные функции, определенные в стандартном модуле. В качестве примера построим очень простую функцию, которая возвращает квадрат введенного значения. В стандартном модуле наберите следующий код:
Function Sq(x As Double) As Double
Sq = x ^ 2
End Function
Вот, собственно говоря, и все, пользовательская функция создана. По умолчанию она попадает в раздел Определенные пользователем списка Категория окна Мастер функций. Найдем, например, квадрат значения 2,5. Для этого:
Выберите ячейку А2.
Введите число 2,5 в ячейку А2.
Выберите ячейку В2, в которой найдем значение функции.
Выберите команду Вставка►Функция.
В первом окне Мастера функций в списке Категория выберите Определенные пользователем, а в списке Выберите функцию укажите Sq. Нажмите кнопку ОК.
Во втором окне Мастера функций в поле х введите ссылку на ячейку А2 и нажмите кнопку ОК.
Математические функции
При создании функций пользователя полезно знать, какие встроенные математические функции имеются в VBA. На самом деле таких функций совсем не много:
Abs (number) — абсолютная величина числа;
Atn(number) —арктангенс;
Cos(number) — косинус;
Exp (number) — экспонента, т. е. результат возведения основания натурального логарифма в указанную степень;
Log (number) — натуральный логарифм;
Rnd(number) — случайное число из интервала [0; 1);
Sgn(number) — знак числа;
Sin(number) — синус;
Sqr (number) — квадратный корень из числа;
Tan(number) — тангенс;
Fix (number), Int (number) — обе функции Int и Fix отбрасывают дробную часть числа и возвращают целое значение. Различие между функциями Int и Fix состоит в том, что для отрицательного значения параметра number функция Int возвращает ближайшее отрицательное целое число, меньшее либо равное указанному, a Fix — ближайшее отрицательное целое число, большее либо равное указанному.
Надстройки
При создании функции или макроса, достаточно часто используемых, их рекомендуется разместить в файле надстройки, т. е. в файлах с расширением xla. Основным преимуществом подобной операции является то, что настройки позволяют использовать функции в любой рабочей книге без ее спецификации. Например, если функция Sq расположена в книге FunCollection.xls, то в другой рабочей книге на нее надо ссылаться следующим образом
=FunCollection.xlsl!Sq(Al)
в то время как, если эта функция расположена в надстройке, то на нее можно ссылаться только по имени
= Sq(Al)
Для создания надстройки:
Расположите функции в модуле рабочей книги.
В редакторе VBA выберите команду Tools ► VBAProject Properties. На вкладке Protection окна VBAProject - Project Properties установите флажок Lock project for viewing и в поля Password и Confirm password введите и подтвердите пароль. Нажмите кнопку ОК. Теперь без знания пароля никто не сможет просматривать ваш код и вносить в него изменения.
Выберете команду Файл ► Сохранить как и в появившемся окне Сохранение документа в списке Тип файла выберите Надстройка Microsoft Excel. В поле Имя файла укажите имя файла, а в списке Папка специфицируйте каталог расположения надстройки. Нажмите кнопку Сохранить. Рабочая книга будет сохранена как XLA-файл.
Установить надстройку можно следующим образом:
Выберите команду Сервис ► Надстройка.
В появившемся диалоговом окне Надстройка при помощи кнопки Обзор добавьте ссылку на искомый XLA-файл и нажмите кнопку ОК.
Распространять приложения, использующие надстройки, конечно, надо вместе с соответствующими XLA-файлами.
