Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
EDO_VBA.doc
Скачиваний:
3
Добавлен:
11.08.2019
Размер:
494.08 Кб
Скачать

9.4. Функції для роботи з числовими значеннями

Функцій для роботи з числовими значеннями в VBA дуже багато. Використовуються вони рідше, ніж стрічкові функції, але у багатьох ситуаціях без них не обійтися. У Excel є свій власний потужний набір вбудованих функцій для роботи з числовими значеннями, які цілком доступні з VBA. Крім того, якщо у вікні Надбудови (меню Сервіс | Надбудови) установити прапорець навпроти рядка Пакет аналізу, в Excel буде доданий додатковий набір аналітичних наукових і фінансових функцій, а якщо в тому ж вікні встановити прапорець навпроти Analysis ToolPak — VBA, то ці функції стануть доступні з VBA (тільки усередині Excel, в якому установ-лена ця надбудова).

Далі приведені тільки універсальні функції VBA для роботи з числовыми значеннями. Ці функції доступні з будь-яких додатків VBA.

ˆ Abs() — ця функція повертає абсолютне значення переданого їй числа (те ж число, але без знаку). Наприклад, Abs(3) і Abs(− 3) повернуть одне і те ж значення 3. Зазвичай використовується тоді, коли нам потрібне визначити різницю між двома числами, але при цьому ми не знаємо, яке число — перше або друге — більше. Результат віднімання може бути і позитивним і негативним. Щоб він був тільки позитивним, використовується ця функція.

ˆ Int(), Fix() і Round() — дозволяють по-різному округлювати числа. Int() повертає найближче менше ціле, Fix() відкидає дробову частину, Round() округлює до вказаної кількості знаків після коми. При цьому Round() працює не зовсім правильно, в чому легко переконатися: MsgBox Round(2.505, 2). Тому на практиці для округлення краще використовувати Format()

MsgBox Format(2.505, "#,##0.00")

ˆ Rnd() і команда Randomize — використовуються для отримання випадкових значень (дуже зручно, наприклад, при генерації імен файлів). Звичайний синтаксис при застосуванні Rnd() виглядає так:

випадкове_число = Int(мінімум + (Rnd() * максимум))

MsgBox (Int(1 + (Rnd() * 100)))

Проте перед викликом функції Rnd() необхідно виконати команду Randomize для ініціалізації генератора випадкових чисел.

ˆ Sgn() — дозволяє повернути інформацію про знак числа. Повертає 1, якщо число позитивне, − 1, якщо негативне, і 0, якщо число, що перевіряється дорівнює 0.

9.5. Функції для роботи з датою і часом

ˆ Date(), Time(), Now() — повертають відповідно поточну системну дату, поточний системний час і дату і час одночасно. Встановити їх можна за допомогою однойменного відповідного оператора, наприклад, так:

Date = #5/12/2004#

ˆ DateAdd() — додає до дати вказану кількість років, кварталів, місяців і так далі до секунд.

ˆ DateDiff() — повертає різницю між датами (в одиницях від років до секунд).

ˆ DatePart() — дуже важлива функція, яка повертає вказану вами частина дати (наприклад, тільки рік, тільки місяць або тільки день тижня).

ˆ DateSerial() — створює значення дати на основі передаваних символьних значень. Те ж саме робить функція DateValue(), але при іншому форматі значень, що набувають. Аналогічним чином (для часу) працюють TimeSerial() і TimeValue().

ˆ Day() (а також Year(), Month(), Weekday(), Hour(), Minute(), Second()) — спеціалізовані замінники функції DatePart(), які повертають потрібну вам частину дати.

ˆ MonthName() — повертає ім'я місяця словами по його номеру. Значення залежить від регіональних налаштувань.

ˆ Timer() — повертає кількість секунд, що пройшли з півночі. Якщо треба отримати додаткові можливості роботи тактів/часом, то у вашому розпорядженні об'єктна модель Outlook. Наприклад за допомогою її можна отримати інформацію про свята і робочі/неробочі дні більшості країн світу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]