Існує багато способів використання функцій у VBA. VBA поставляється з багатьма вбудованими функціями. Ви навіть можете створити власні функції (UDF). Однак ви також можете використовувати багато функцій Excel у VBA за допомогою Application.WorksheetFunction.
Як користуватися функціями аркуша у VBA
Щоб отримати доступ до функції Excel у VBA, додайте Application.WorksheetFunction перед функцією, яку потрібно викликати. У наведеному нижче прикладі ми викличемо максимальну функцію Excel:
12 | Приглушити максимальне значення до тих пірmaxvalue = Application.WorksheetFunction.Max (Діапазон ("a1"). Значення, Діапазон ("a2"). Значення) |
Синтаксис функцій однаковий, проте ви вводите аргументи функції так само, як і будь -яку іншу функцію VBA.
Зверніть увагу, що синтаксис функції Max з’являється під час введення тексту (подібно до функцій VBA):
Метод функціонування аркуша
WorksheetFunction - це метод об'єкта Application. Він дозволяє отримати доступ до багатьох (не всіх) стандартних функцій робочого аркуша Excel. Як правило, ви не отримаєте доступу до будь -яких функцій аркуша, які мають відповідну версію VBA.
Нижче ви можете побачити список багатьох найпоширеніших функцій аркуша.
Робота на робочому аркуші проти програми
Насправді є два способи доступу до цих функцій:
Application.WorksheetFunction (як показано вище):
1 | maxvalue = Application.WorksheetFunction.Max (Діапазон ("a1"). Значення, Діапазон ("a2"). Значення) |
або ви можете опустити функцію аркуша
1 | maxvalue = Application.Max (Діапазон ("a1"). Значення, діапазон ("a2"). Значення) |
На жаль, опускання функції WorksheetFunction усуне Intellisense, що відображає синтаксис (див. Зображення вище). Однак у нього є одна велика потенційна перевага: Обробка помилок.
Якщо ви використовуєте програму, і ваша функція генерує помилку, вона поверне значення помилки. Якщо ви використовуєте метод WorksheetFunction, VBA видасть помилку часу виконання. Звичайно, ви можете впоратися з помилкою VBA, але зазвичай краще уникати помилки.
Давайте розглянемо приклад, щоб побачити різницю:
Обробка помилок робочого аркуша Vlookup
Ми спробуємо виконати Vlookup, який не призведе до відповідності. Тож функція Vlookup поверне помилку.
Спочатку ми будемо використовувати метод WorksheetFunction. Зверніть увагу, як VBA видає помилку:
Далі ми опускаємо функцію WorksheetFunction. Зверніть увагу, як
Далі ми опустимо функцію WorksheetFunction. Зверніть увагу, як помилка не видається, і замість цього функція "значення" містить значення помилки з Vlookup.
Список функцій робочого аркуша VBA
Нижче ви знайдете список більшості поширених функцій робочого аркуша VBA.
Функція | Опис |
---|---|
Логічний | |
І | Перевіряє, чи виконуються всі умови. ІСТИНА/НЕВІРНА |
ІФ | Якщо умова виконана, зробіть щось, якщо ні, зробіть щось інше. |
ПОМИЛКА | Якщо результат - помилка, зробіть щось інше. |
АБО | Перевіряє, чи виконуються якісь умови. ІСТИНА/НЕВІРНА |
Пошук та довідка | |
ВИБРАТИ | Вибирає значення зі списку на основі номера позиції. |
ПЕРЕВІРКА | Знайдіть значення у першому рядку та поверніть значення. |
ІНДЕКС | Повертає значення на основі номерів стовпців і рядків. |
ПЕРЕГЛЯНУТИ | Шукає значення горизонтально або вертикально. |
МАТЧ | Шукає значення у списку та повертає його позицію. |
ТРАНСПОЗИЦІЯ | Перевертає орієнтацію діапазону клітинок. |
VLOOKUP | Знайдіть значення у першому стовпці та поверніть значення. |
Дата, час | |
ДАТА | Повертає дату з року, місяця та дня. |
ДАТЕВАЛЬНІСТЬ | Перетворює дату, збережену у вигляді тексту, в дійсну дату |
ДЕНЬ | Повертає день як число (1-31). |
ДНИ 360 | Повертає дні між 2 датами в 360 -денному році. |
ЗМІНИТИ | Повертає дату, що проходить через n місяців від дати початку. |
EOMONTH | Повертає останній день місяця за п. Місяців. |
ГОДИНА | Повертає годину як число (0-23). |
ХВИЛИНА | Повертає хвилину як число (0-59). |
МІСЯЦЬ | Повертає місяць як число (1-12). |
МЕРЕЖІ | Кількість робочих днів між 2 датами. |
NETWORKDAYS.INTL | Робочі дні між 2 датами, вихідні на замовлення. |
ЗАРАЗ | Повертає поточну дату та час. |
ДРУГИЙ | Повертає друге як число (0-59) |
ЧАС | Повертає час від години, хвилини та секунди. |
ЧАС | Перетворює час, що зберігається у вигляді тексту, в дійсний час. |
ТИДЕНЬ | Повертає день тижня як число (1-7). |
WEEKNUM | Повертає номер тижня за рік (1-52). |
РОБОЧИЙ ДЕНЬ | Дата n робочих днів з дати. |
РОК | Повертає рік. |
РІК | Повертає частку року між 2 датами. |
Інженерія | |
КОНВЕРТУВАТИ | Перетворення числа з однієї одиниці в іншу. |
Фінансові | |
ФВ | Розраховує майбутню вартість. |
PV | Розраховує поточну вартість. |
NPER | Обчислює загальну кількість періодів оплати. |
PMT | Розраховує суму платежу. |
RATE | Розраховує процентну ставку. |
NPV | Розраховує чисту теперішню вартість. |
IRR | Внутрішня норма прибутку для набору періодичних CF. |
XIRR | Внутрішня норма прибутку для набору неперіодичних CF. |
ЦІНА | Розраховує ціну облігації. |
ІНТЕРАЦІЯ | Процентна ставка повністю вкладеного цінного паперу. |
Інформація | |
ISERR | Перевірте, чи є значення комірки помилкою, ігнорує #Н/Д. ІСТИНА/НЕВІРНА |
ПОМИЛКА | Перевірте, чи є значення комірки помилкою. ІСТИНА/НЕВІРНА |
НЕЗАБАВЛЕНО | Перевірте, чи є значення клітинки парним. ІСТИНА/НЕВІРНА |
ІСЛОГІЧНИЙ | Перевірте, чи комірка логічна (TRUE або FALSE). ІСТИНА/НЕВІРНА |
ISNA | Перевірте, чи є значення комірки #Н/Д. ІСТИНА/НЕВІРНА |
ISNONTEXT | Перевірте, чи клітинка не є текстом (порожні клітинки не є текстом). ІСТИНА/НЕВІРНА |
ISNUMBER | Перевірте, чи є комірка числом. ІСТИНА/НЕВІРНА |
ISODD | Перевірте, чи є значення комірки непарним. ІСТИНА/НЕВІРНА |
ISTEXT | Перевірте, чи комірка - це текст. ІСТИНА/НЕВІРНА |
ТИП | Повертає тип значення в клітинку. |
Математика | |
АБС | Обчислює абсолютне значення числа. |
АГРЕГАТ | Визначте та виконайте обчислення для бази даних або списку. |
СТАЛА | Округлює число до найближчого заданого кратного. |
COS | Повертає косинус кута. |
СТУПЕНІ | Перетворює радіани в градуси. |
DSUM | Суми записів бази даних, які відповідають певним критеріям. |
НАВІТЬ | Округлює до найближчого парного цілого числа. |
EXP | Обчислює експоненційне значення для даного числа. |
ФАКТ | Повертає множник. |
ПОВЕРХ | Округлює число вниз до найближчого зазначеного кратного. |
GCD | Повертає найбільший загальний дільник. |
INT | Округлює число до найближчого цілого числа. |
LCM | Повертає найменше спільне кратне. |
LN | Повертає натуральний логарифм числа. |
Журнал | Повертає логарифм числа до вказаної основи. |
LOG10 | Повертає логарифм числа з базою-10. |
ГРУНД | Округлює число до заданого кратного. |
ODD | Округлює до найближчого непарного цілого числа. |
PI | Значення ПІ. |
ПОТУЖНІСТЬ | Обчислює число, піднесене до степеня. |
ПРОДУКТ | Множить масив чисел. |
КОЛИЧНЕ | Повертає цілий результат ділення. |
РАДІАНИ | Перетворює кут в радіани. |
РАНДТЕЖ | Обчислює випадкове число між двома числами. |
КРУГЛИЙ | Округлює число до певної кількості цифр. |
РАУНДУНД | Округлює число вниз (до нуля). |
ОГЛЯД | Округлює число вгору (від нуля). |
ГРІХ | Повертає синус кута. |
ПІДСУМКИ | Повертає підсумкову статистику для ряду даних. |
SUM | Додає числа разом. |
SUMIF | Суми, які відповідають критеріям. |
ПІДСУМКИ | Суми, які відповідають кільком критеріям. |
ВИХОДИ | Множить масиви чисел і підсумовує отриманий масив. |
TAN | Повертає тангенс кута. |
Статистика | |
СЕРЕДНЯ | Середні цифри. |
СЕРЕДНЯ | Середні цифри, що відповідають критеріям. |
СЕРЕДНІ | Середні цифри, які відповідають кільком критеріям. |
КОРРЕЛЬ | Обчислює співвідношення двох рядів. |
РАХУВАТИ | Підраховує клітинки, які містять число. |
КОНТА | Підрахувати клітинки, які не є порожніми. |
COUNTBLANK | Підраховує порожні клітинки. |
COUNTIF | Підраховує клітини, які відповідають критеріям. |
СЧІТКИ | Підраховує клітини, які відповідають кільком критеріям. |
ПРОГНОЗ | Передбачте майбутні значення y з лінійної лінії тренду. |
ЧАСТОТА | Підраховує значення, які потрапляють у задані діапазони. |
ЗРОСТАННЯ | Обчислює значення Y на основі експоненційного зростання. |
ПЕРЕХОД | Обчислює перехоплення Y для лінії, яка найкраще підходить. |
ВЕЛИКИЙ | Повертає k -е найбільше значення. |
LINEST | Повертає статистику про лінію тренда. |
МАКС | Повертає найбільше число. |
СЕРЕДНЯ | Повертає середнє число. |
ХВ | Повертає найменше число. |
РЕЖИМ | Повертає найпоширеніший номер. |
ПЕРЦЕНЦІЛЬНИЙ | Повертає k -й процентиль. |
PERCENTILE.INC | Повертає k -й процентиль. Де k включно. |
PERCENTILE.EXC | Повертає k -й процентиль. Де k - виключний. |
КВАРТИЛЬНИЙ | Повертає вказане значення квартилю. |
QUARTILE.INC | Повертає вказане значення квартилю. Включно. |
QUARTILE.EXC | Повертає вказане значення квартилю. Ексклюзивно. |
РАНГ | Ранг числа в серії. |
RANK.AVG | Ранг числа в серії. Середні показники. |
RANK.EQ | Ранг числа в серії. Найвищий ранг. |
НАКЛОН | Обчислює нахил за лінійною регресією. |
МАЛЕНЬКИЙ | Повертає k -е найменше значення. |
СТДЕВ | Обчислює стандартне відхилення. |
STDEV.P | Обчислює SD всієї сукупності. |
STDEV.S | Обчислює SD зразка. |
STDEVP | Обчислює SD всієї сукупності |
ТРЕНД | Обчислює значення Y на основі лінії тренду. |
Текст | |
ЧИСТИЙ | Видаляє всі недруковані символи. |
ДОЛЛАР | Перетворює число в текст у валютному форматі. |
ЗНАЙТИ | Розташовує позицію тексту всередині комірки. |
ВЛІВО | Урізає текст кількома символами зліва. |
LEN | Підраховує кількість символів у тексті. |
MID | Витягує текст із середини комірки. |
ВЛАСНО | Перетворює текст у належний регістр. |
ЗАМІНИТИ | Замінює текст залежно від його розташування. |
REPT | Повторює текст кілька разів. |
ПРАВО | Урізає текст кількома символами праворуч. |
ПОШУК | Розташовує позицію тексту всередині комірки. Не чутливий до регістру. |
ЗАМІНА | Знаходить і замінює текст. З урахуванням регістру |
ТЕКСТ | Перетворює значення в текст із певним числовим форматом. |
ТРИМ | Видаляє всі зайві пробіли з тексту. |