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

Excel VBA Дата и час

Година, месец, ден на дата | DateAdd | Текуща дата и час | Час, минута, второ | TIMEVALUE

Научете как да работите дати и часове в Excel VBA.

Поставете командния бутон на работния лист и добавете кодовете по-долу. За да изпълните кодовите редове, кликнете върху командния бутон на листа.

Година, месец, ден на дата

Следният макрос получава годината на дата. За да декларирате дата, използвайте инструмента Dim. За да инициализирате дата, използвайте функцията DateValue.

Код:

Dim exampleDate As Date

exampleDate = DateValue("Jun 19, 2010")

MsgBox Year(exampleDate)

Резултат:

Година на дадена дата в Excel VBA

Забележка: Използвайте месец и ден, за да получите месеца и деня на дадена дата.

DateAdd

За да добавите няколко дни към дата, използвайтеФункция DateAdd. Функцията DateAdd има три аргумента. Попълнете "d" за първия аргумент, за да добавите дни. Попълнете 3 за втория аргумент, за да добавите 3 дни. Третият аргумент представлява датата, на която ще бъде добавен броят дни.

Код:

Dim firstDate As Date, secondDate As Date

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

MsgBox secondDate

Резултат:

DateAdd

Забележка: Променете "d" на "m", за да добавите няколко месеца към дадена дата. Поставете курсора върху DateAdd в редактора на Visual Basic и щракнете F1 за помощ на другите интервални спецификатори. Датите са в US Format. Първи месеци, дни втори. Този тип формат зависи от регионалните ви настройки за 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

Резултат:

Сериен номер на време

Също така се чете: