Не всі функції аркуша Excel підтримуються як методи об'єкта Application у Visual Basic for Applications

Для Microsoft Excel 97 і попередніх версій або Microsoft Excel 98 Macintosh Edition або попередньої версії цієї статті див. 107564 .

Зведення

У microsoft Visual Basic for Applications не всі функції аркуша Microsoft Excel підтримуються як методи об'єкта Application. Якщо спробувати використати одну з цих функцій аркуша з об'єктом Application, з'явиться таке повідомлення про помилку:

Примітка.

Run-Time помилка "438":
Об'єкт не підтримує цю властивість або метод

Додаткові відомості

Ви можете написати процедури Visual Basic, які викликають функції аркуша Microsoft Excel. Функції аркуша, доступні для процедур Visual Basic, розташовані в об'єкті Application і перелічені в розділі
Список методів або властивостей об'єкта Application у браузері об'єктів Visual Basic.

Більшість функцій аркуша, недоступних як методи
Об'єкт application має еквівалентний вбудований оператор або функцію Microsoft Visual Basic. Наприклад, функція аркуша MOD недоступна як метод об'єкта Application, оскільки в Visual Basic вбудовано еквівалентний оператор Mod. Оператор 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. У списку розділів виберіть тему функції або оператора. Наприклад, виберіть розділ Оператор Mod.

У таблиці нижче наведено функції аркуша, недоступні як методи об'єкта Application. У стовпці Еквівалент Visual Basic наведено функції, які дають змогу отримувати результати так само, як і (або схожі) результати, які повертають функції.

   Microsoft Excel Visual Basic
   еквівалент функції аркуша
   -------------------------------------------------------------------
   Функція ABS() Abs
   Функція ATAN() Atn
   Функція CHAR() CHR
   Функція CODE() ASC
   CoS() Cos (функція Cos)
   Функція DATE() DATESERIAL
   ПОМИЛКА. Функція TYPE() ERR
   Функція EXACT() STRCOMP
   Функція EXP() Exp
   INDIRECT() Без прямого еквівалента – використовуйте діапазон,
                                     Клітинки, зсув або будь-який інший спосіб
                                     посилання на клітинки.
   INFO() Без прямого еквівалента – використовуйте
                                     Наступні:
                                     Функція CURDIR:
                                     Властивості застосунку (MEMORYTOTAL,
                                     MEMORYUSED, MEMORYFREE, VERSION,
                                     ОПЕРАЦІЙНА СИСТЕМА, ОБЧИСЛЕННЯ, КІЛЬКІСТЬ)
   Функція ISBLANK() ISEMPTY
   Функція ISREF() TYPENAME
   Функція LEN() LEN
   Функція LOWER() LCASE
   N() Немає еквівалента (немає необхідності)
   NA() Без еквівалента – використання
                                     ActiveCell.Value = "#N/A"
   Функція RAND() RND
   Функція RANDOMIZE() Randomize
   Функція SIN() Sin
   Функція SIGN() Sgn
   Функція SQR() Sqr
   Функція SQRT() Sqr
   T() Немає еквівалента (немає необхідності)
   Функція TAN() Tan
   Функція TODAY() DATE
   Функція TRUNC() FIX
   Функція TYPENAME () TYPENAME
   Функція UPPER() UCASE
   Функція VALUE() VAL
 ПРИМІТКА. Функція аркуша Microsoft Excel і еквівалентний оператор або функція Visual Basic не завжди обчислюються однаково і можуть давати різні результати, навіть якщо вони мають однакове ім'я.

Для підвищення швидкості та гнучкості в обчисленнях краще використовувати еквівалентний оператор або функцію Visual Basic. Крім того, оператор або функція Visual Basic доступні для всіх програм, у яких використовується Microsoft Visual Basic for Applications.

Хоча рекомендовано використовувати оператори або функції Visual Basic, показані в наведеному вище списку, за потреби існують альтернативні методи використання функцій аркуша в макросі Visual Basic. Наприклад, ви можете використовувати аркуш ATAN у макросі Visual Basic за допомогою функцій ExecuteExcel4Macro або Evaluate:

   x = Application.ExecuteExcel4Macro("Atan(12)")
     -або-

   x = Application.Evaluate("Atan(12)")