Преобразует выражение в объект или значение. Используется при вводе формул и ячеек из диалоговых окон.
В следующем примере в поле ввода первого появившегося ) диалогового окна вводится ссылка на ячейку, например A1, процедура считывает значение из этой ячейки и отображает его в диалоговом окне. После этого в поле ввода следующего диалогового окна надо ввести какое-нибудь арифметическое выражение, например sin(l) ^2. Процедура вычислит значение этого выражения и отобразит в диалоговом окне:
Sub Два Примера ДляEvaluate ( ) '
' Ввод адреса ячейки '
Ячейка = InputBox ( "Введите имя ячейки") '
' Считывание значения из ячейки с указанным адресом '
Значение = Evaluate (Ячейка) .Value '
' Вывод считанного значения в диалоговое окно
'
MsgBox CStr (Значение) '
' Ввод в диалоговое окно формулы, например, sin(1)^2 '
Функция = InputBox ( "Введите функцию" ) '
' Вычисление значения по введенной формуле '
Значение = Evaluate (Функция)
' Вывод найденного значения в диалоговом окне '
MsgBox CStr (Значение) End Sub
Событие
Когда возникает событие
BeforeClose
При закрытии рабочей книги
BeforePrint
Перед печатью рабочей книги
BeforeSave
Перед сохранением рабочей книги
Deactivate
Когда рабочая книга теряет фокус
NewSheet
При добавлении нового листа
Open
При открытии рабочей книги
SheetActivate
При активизации любого рабочего листа
Sheet Deactivate
Когда рабочий лист теряет фокус
В иерархии Excel объект Range (диапазон) идет сразу после объекта worksheet. Объект Range является одним из ключевых объектов VBA. Объект Selection (выбор) возникает в VBA двояко — либо как результат работы метода Select, либо при вызове свойства selection. Тип получаемого объекта зависит от типа выделенного объекта. Чаще всего объект Selection принадлежит классу Range и при работе с ним можно использовать свойства и методы объекта Range. Интересной особенностью объектов Range и selection является то, что они не являются элементами никакого семейства объектов.
При работе с объектом Range необходимо помнить, как в Excel ссылаются на ячейку рабочего листа. Имеются два способа ссылки на ячейки рабочего листа: относительная адресация (т. е. когда начало координат, задающее нумерацию строк и столбцов, связывается с объектом, вызвавшим Range) и абсолютная адресация.
Относительная адресация:
Формат А1
Имя ячейки состоит из имени столбца (их 256 — А, В, ..., Z, АВ, ..., HZ, IA, ..., IV) и номера (1, ...., 16384).
Например, A1, C2
Формат R1C1
Адресация задается индексом строки и индексом столбца. Например, R1C1, R2C3
Абсолютная адресация:
Формат А1
Признаком абсолютной адресации является знак "$", предшествующий имени строки (абсолютной адресации на строку) или столбца (абсолютной адресации на столбец). Например, $А10, А$10 и $А$10 задают абсолютную адресацию на столбец А, строку 10 и ячейку А10 соответственно
Формат R1C1
Указывается смещение по отношению к активной ячейке. Смещение приводится в квадратных скобках, причем знак указывает на направление смещения. Например, если активной ячейкой является касз, то R[i]C[-1] дает ссылку на ячейку кзс2
Адресация ячейки рабочего листа является лишь частью полного адреса ячейки, который в общем случае включает имя рабочего листа и адрес книги. При задании полного адреса за именем листа следует знак "!", а адрес книги заключается в скобки. Например,
А1
Лист2!А1
[МояКнига.хls]Лист2!А1
В первой строке данного примера дана относительная ссылка на ячейку AI активного рабочего листа, во второй — на ячейку AI рабочего листа листа активной книги, а в третьей на ячейку AI рабочего листа лист2 книги моякнига-xls текущего рабочего каталога.