Метод Application.Evaluate (Excel)

Преобразует имя Microsoft Excel в объект или значение.

Синтаксис

выражение. Вычислить (имя)

выражение: переменная, представляющая объект Application.

Параметры

Имя Обязательный или необязательный Тип данных Описание
Name Обязательный Variant Формула или имя объекта в соответствии с соглашением об именовании Microsoft Excel. Длина имени не должна превышать 255 символов.

Возвращаемое значение

Variant

Примечания

С помощью этого метода можно использовать следующие типы имен в Microsoft Excel:

  • Формулы.

  • Ссылки в стиле А1. Используйте любую ссылку на одну ячейку в нотации типа А1. Все ссылки считаются абсолютными.

  • Диапазоны. Используйте операторы range, intersect и union (двоеточие, пробел и запятая соответственно) со ссылками.

  • Определенные имена. Вы можете указать любое имя на языке макроса.

  • Внешние ссылки. Оператор используется ! для ссылки на ячейку или на имя, определенное в другой книге, например Evaluate("[BOOK1.XLS]Sheet1!A1").

  • "Объекты диаграммы". Для доступа к свойствам и методам этого объекта можно указать любое имя объекта диаграммы, например "Легенда", "Область построения" или "Серия 1". Например, Charts("Chart1").Evaluate("Legend").Font.Name возвращает имя шрифта, используемого в легенде.

  • Номер элемента управления формы. Вы можете указать число, а также имя для ссылки на элемент управления "Форма" на листе. Например, для наклейки, расположенной на листе (вкладка "Разработчик" - "Вставка" - "Элементы управления формой" - "Наклейка"), обе Evaluate("Label 1").Caption = "Hello" и Evaluate("1").Caption = "Hello" делают то же самое.

Использование квадратных скобок (например, "[A1:C5]") идентично вызову метода Evaluate со строковым аргументом. Например, следующие пары выражений эквивалентны.

[a1].Value = 25 
Evaluate("A1").Value = 25 
 
trigVariable = [SIN(45)] 
trigVariable = Evaluate("SIN(45)") 
 
Set firstCellInSheet = Workbooks("BOOK1.XLS").Sheets(4).[A1] 
Set firstCellInSheet = _ 
    Workbooks("BOOK1.XLS").Sheets(4).Evaluate("A1")

Преимущество использования квадратных скобок в том, что код короче. Преимущество использования Evaluate заключается в том, что аргумент является строкой, поэтому вы можете либо создать строку в своем коде, либо использовать переменную Visual Basic.

Пример

В этом примере включается полужирный шрифт в ячейке A1 на листе Лист1.

Worksheets("Sheet1").Activate 
boldCell = "A1" 
Application.Evaluate(boldCell).Font.Bold = True

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.