/ / Excel VBA Дата та час

Дата та час Excel VBA

Рік, місяць, день дати | Дата додати | Поточна дата і час | Час, хвилина, секунда | TimeValue

Дізнайтеся, як працювати дати та часу в Excel VBA.

Встановіть на вашій робочій клавіші команду та додайте кодові лінії нижче. Щоб виконати кодові рядки, натисніть кнопку команди на аркуші.

Рік, місяць, день дати

Наступний макрос отримує рік дати. Щоб оголосити дату, скористайтеся твердженням Dim. Для ініціалізації дати використовуйте функцію DateValue.

Код:

Dim exampleDate As Date

exampleDate = DateValue("Jun 19, 2010")

MsgBox Year(exampleDate)

Результат:

Рік дати в Excel VBA

Примітка. Використовуйте Місяць та День, щоб отримати місяць та день дати.

Дата додати

Щоб додати кілька днів до дати, скористайтесяФункція DateAdd Функція DateAdd має три аргументи. Заповніть "d" для першого аргументу, щоб додати дні. Заповніть 3 для другого аргументу, щоб додати 3 дні. Третій аргумент - це дата, до якої буде додано кількість днів.

Код:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jun 19, 2010")
secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Результат:

Дата додати

Примітка: Змініть "d" на "m", щоб додати кілька місяців до дати. Покладіть курсор на DateAdd у редакторі Visual Basic і натисніть F1 для довідки про інші інтервальні специфікації. Дати в форматі США. Перші місяці, Дні друге. Цей тип формату залежить від вашої регіональної настройки Windows.

Поточна дата і час

Щоб отримати поточну дату та час, скористайтеся функцією Now.

Код:

MsgBox Now

Результат:

Поточна дата і час

Час, хвилина, секунда

Отримайте годину часу, використовуйте функцію "Година".

Код:

MsgBox Hour(Now)

Результат:

Година поточного часу

Примітка. Використовуйте хвилину та секунд, щоб отримати хвилину і секунду часу.

TimeValue

Функція TimeValue перетворює рядок на серійний номер часу. Серійний номер часу - це число між 0 та 1. Наприклад, південь (на півдорозі через день) представлений як 0.5.

Код:

MsgBox TimeValue("9:20:01 am")

Результат:

TimeValue

Тепер, щоб ясно побачити, що Excel обробляє внутрішні часові числа як цифри від 0 до 1, додайте наступні кодові рядки:

Dim y As Double
y = TimeValue("09:20:01")
MsgBox y

Результат:

Серійний номер часу

Також читайте: