Не все функции Excel поддерживаются как методы объекта Application в Visual Basic для приложений.

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

Аннотация

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

Ошибка во время выполнения "438": объект не поддерживает это свойство или метод

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

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

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

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

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

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

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

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

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

В приведенной ниже таблице содержатся функции, недоступные в качестве методов объекта Application . В столбце эквивалентов в 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 для приложений. Несмотря на то, что рекомендуется использовать операторы и функции Visual Basic, показанные в приведенном выше списке, существуют и другие способы использования функций листа в макросе Visual Basic (при необходимости). В качестве примера можно использовать лист ATAN в макросе Visual Basic с помощью функций ExecuteExcel4Macro и Evaluate . x = Application.ExecuteExcel4Macro("Atan(12)") -или- x = Application.Evaluate("Atan(12)")

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

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?

Что повлияло на вашу оценку?

Добавите что-нибудь? Это необязательно

Спасибо за ваш отзыв!

×