Сведения о Microsoft Excel 97 и более ранних версиях или Microsoft Excel 98 Macintosh Edition или более ранней версии этой статьи см . в разделе 107564.

Аннотация

В Microsoft Visual Basic для приложений не все функции листа Microsoft Excel поддерживаются в качестве методов объекта Application. При попытке использовать одну из этих функций листа с объектом Application вы получите следующее сообщение об ошибке:

ошибка Run-Time '438':Объект не поддерживает это свойство или метод

Дополнительная информация

Вы можете написать процедуры Visual Basic, которые вызывают функции листов Microsoft Excel. Функции листа, доступные для процедур Visual Basic, находятся в объекте Application и перечислены всписке Методы или Свойства для объекта Application в обозревателе объектов Visual Basic.Большинство функций листа, которые недоступны в качестве методовобъекта Application, имеют эквивалентный встроенный оператор или функцию Microsoft Visual Basic. Например, функция листа MOD недоступна в качестве метода объекта Application, так как существует эквивалентный оператор Mod, встроенный в Visual Basic. Оператор Visual Basic работает быстрее, чем функция Microsoft Excel в модуле Visual Basic.

Функции листа Excel, доступные как методы в Visual Basic

ПРИМЕЧАНИЕ. При выполнении следующих действий предполагается, что вы установили файл справки Visual Basic.Чтобы отобразить список всех функций листа Microsoft Excel, доступных в качестве методов объекта Application в Visual Basic, выполните следующие действия.

  1. В редакторе Visual Basic введите функции листа в помощнике Microsoft Office и нажмите кнопку Поиск.

  2. В списке разделов щелкните Список функций листа, доступных для Visual Basic.

Чтобы найти эквивалентный оператор или функцию Visual Basic для функции листа Microsoft Excel, которая недоступна в качестве метода объекта Application, выполните следующие действия.

  1. В редакторе Visual Basic введите имя функции или оператора в помощнике по Office и нажмите кнопку Поиск. Например, введите mod.

  2. В списке тем щелкните раздел для функции или оператора. Например, щелкните раздел Оператор мода.

В следующей таблице содержатся функции листа, недоступные как методы объекта Application. В столбце Эквивалент visual Basic перечислены функции, которые дают результаты, аналогичные (или похожие на) результаты, возвращаемые функциями. Функция листа Microsoft Excel Visual Basic , эквивалентная ------------------------------------------------------------------- ABS() Abs функция ATAN() Функция ATN CHAR() ФУНКЦИЯ CHR CODE() ФУНКЦИЯ ASC COS() Функция Cos DATE() DATEERIAL FUNCTION ERROR. TYPE() ERR function EXACT() STRCOMP function EXP() Exp function INDIRECT() No direct equivalent — используйте Range, Cells, Offset или любой другой способ ссылки на ячейки. INFO() Нет прямого эквивалента. Используйте следующую функцию: CURDIR, следующие свойства приложения (MEMORYTOTAL, MEMORYUSED, MEMORYFREE, VERSION, OPERATINGSYSTEM, CALCULATION, COUNT) ISBLANK() ISEMPTY function ISREF() TYPENAME function LEN() LEN function LOWER() LCASE function N() No equivalent (none needed) NA() No equivalent - use ActiveCell.Value = "#N/A" RAND() RND function RANDOMIZE() Randomize function SIN() Sin function SIGN() Sgn function SQR() Sqr function SQRT() Sqr function T() No equivalent (none needed) TAN function TODAY() DATE function TRUNC() FIX function TYPE() TYPENAME function UPPER() UCASE function VALUE() VAL function ПРИМЕЧАНИЕ. Функция листа Microsoft Excel и эквивалентный оператор или функция Visual Basic не всегда вычисляются одинаково и могут давать разные результаты, даже если они имеют одно и то же имя.Использование эквивалентного оператора или функции Visual Basic является предпочтительным для повышения скорости и гибкости вычислений. Кроме того, оператор или функция Visual Basic доступна для всех приложений, использующих Microsoft Visual Basic для приложений.Хотя рекомендуется использовать операторы или функции Visual Basic, показанные в списке выше, существуют альтернативные методы использования функций листа в макросе Visual Basic, если это необходимо. Например, лист ATAN можно использовать в макросе Visual Basic с помощью функций ExecuteExcel4Macro или Evaluate: x = Application.ExecuteExcel4Macro("Atan(12)") -or- x = Application.Evaluate("Atan(12)")

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.