Microsoft Excel 97 и более ранних версий или Microsoft Excel 98 Macintosh Edition или более ранние версии этой статьи см.
Аннотация
В Microsoft Visual Basic для приложений, не все функции рабочего листа Microsoft Excel поддерживаются в качестве методов объекта приложения . При попытке использовать один из этих функций с объектом приложения , появится следующее сообщение об ошибке:
Ошибка выполнения '438": объект не поддерживает это свойство или метод
Дополнительная информация
Можно написать процедуры Visual Basic, которые вызывают функции Microsoft Excel. Функции, доступные в Visual Basic процедуры в объекте приложения и перечисленных в спискеметоды или Свойства для объекта приложения в Browser.Most объекта Visual Basic функции, которые не доступны как методы объектаприложения имеют эквивалент Microsoft Visual Basic встроенного оператора или функции. Например функция MOD недоступен как метод объекта приложения , так как имеется оператор Mod эквивалент, встроенное в Visual Basic. Visual Basic оператор работает быстрее, чем Microsoft Excel функции в модуле Visual Basic.
Доступны как методы в Visual Basic функции листа Excel
Обратите внимание: предполагается, что вы установили файла справки Visual Basic. Чтобы отобразить список всех функций листа Microsoft Excel, которые доступны как методы объекта приложения в Visual Basic, выполните следующие действия.
-
В редакторе Visual Basic, введите слово функции в помощнике Microsoft Office и нажмите кнопку Найти.
-
В списке разделов щелкните Список из листа функции доступны для Visual Basic.
Чтобы найти эквивалентное Visual Basic оператор или функцию функция листа Microsoft Excel, не доступен в качестве метода объекта приложения , выполните следующие действия:
-
В редакторе Visual Basic, введите имя функции или оператора в поле помощника Office и нажмите кнопку Найти. Например введите mod.
-
В списке разделов щелкните раздел, для функции или оператора. Например выберите раздел Оператора Mod .
В следующей таблице приведены функции, которые не доступны как методы объекта приложения . Эквивалент Visual Basic столбце перечислены функции, которые можно использовать, такими же (или примерно) результаты, которые возвращаются результаты. Microsoft Excel Visual Basic worksheet function equivalent ------------------------------------------------------------------- ABS() Abs function ATAN() Atn function CHAR() CHR function CODE() ASC function COS() Cos function DATE() DATESERIAL function ERROR.TYPE() ERR function EXACT() STRCOMP function EXP() Exp function INDIRECT() No direct equivalent - use Range, Cells, Offset, or any other way of referencing cells. INFO() No direct equivalent - use the following: CURDIR function, the following Application properties (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() 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 для Applications.Although, рекомендуется использовать Visual Basic операторов или функций, показанный в приведенном выше списке, существуют альтернативные методы с использованием функций листа в макросах Visual Basic при необходимости. Например можно использовать лист ATAN в макрос Visual Basic с помощью ExecuteExcel4Macro или функции, вычислить : x = Application.ExecuteExcel4Macro("Atan(12)") -или- x = Application.Evaluate("Atan(12)")