В този урок ще преминем през различните вградени VBA функции за дата.
VBA Дата функция
Можете да използвате функцията за дата, за да върнете текущата дата.
Синтаксисът на функцията Date е Date (). Няма аргументи.
Следният код ви показва как да използвате функцията за дата:
12345678 | Под използване на DateFunction ()Затъмнете датата като датаtheDate = Date ()Отстраняване на грешки Отпечатайте дататаEnd Sub |
Резултатът е:
Функция VBA Now
Можете да използвате функцията Now, за да върнете текущата дата и час.
Синтаксисът на функцията Now е Now (). Няма аргументи.
Следният код ви показва как да използвате функцията Now:
12345678 | Под -използванеTheNowFunction ()Затъмнете датата като датаtheDate = Now ()Отстраняване на грешки Отпечатайте дататаEnd Sub |
Резултатът е:
Функция за време VBA
Можете да използвате функцията за време, за да върнете текущото време.
Синтаксисът на функцията Time е Time (). Няма аргументи.
Следният код ви показва как да използвате функцията за време:
12345678 | Под използване на TheTimeFunction ()Затъмнете времето като датаtheTime = Time ()Отстраняване на грешки Отпечатайте времетоEnd Sub |
Резултатът е:
Функция VBA DateAdd
Можете да използвате функцията DateAdd, за да добавите интервал от дата/час към дата или час и функцията ще върне получената дата/час.
Синтаксисът на функцията DateAdd е:
DateAdd (Интервал, номер, дата), където:
- Интервал - Низ, който определя вида на използвания интервал. Интервалът може да бъде една от следните стойности:
"D" - ден
„Ww“ - седмица
“W” - делничен ден
"M" - месец
“Q” - тримесечие
„Yyyy“ - година
„Y“ - ден от годината
"H" - час
“N” - минута
„S“ - второ
- Номер - Броят на интервалите, които искате да добавите към първоначалната дата/час.
- Дата - Оригиналната дата/час.
Забележка: Когато използвате дати във вашия код, трябва да ги заобиколите с # или кавички.
Следният код показва как да използвате функцията DateAdd:
123456789 | Sub UsingTheDateAddFunction ()Затъмнете по -късно Дата като датаlaterDate = DateAdd ("m", 10, "11/12/2019")Отстраняване на грешки Отпечатайте по -късно ДатаEnd Sub |
Резултатът е:
Функция VBA DateDiff
Можете да използвате функцията DateDiff, за да получите разликата между две дати въз основа на определен интервал от време.
Синтаксисът на функцията DateDiff е:
DateDiff (Interval, Date1, Date2, [Firstdayofweek], [Firstweekofyear]) където:
- Интервал - Низ, който определя вида на използвания интервал. Интервалът може да бъде една от следните стойности:
"D" - ден
„Ww“ - седмица
“W” - делничен ден
"M" - месец
“Q” - тримесечие
„Yyyy“ - година
„Y“ - ден от годината
"H" - час
“N” - минута
„S“ - второ
- Date1 - стойност на датата, представляваща по -ранната дата.
- Date2 - стойност на датата, представляваща по -късната дата.
- Първи ден от седмицата (По избор) - Константа, която определя делничния ден, който функцията трябва да използва като първи ден от седмицата. Ако празният неделя се използва като първи ден от седмицата. Firstdayofweek може да бъде една от следните стойности:
-vbSunday - използва неделя като първи ден от седмицата.
-vbMonday - използва понеделник като първи ден от седмицата.
-vbTuesday - използва вторник като първи ден от седмицата.
-vbWednesday - използва сряда като първи ден от седмицата.
-vbThursday - използва четвъртък като първи ден от седмицата.
-vbFriday - използва петък като първи ден от седмицата.
-vbSaturday - използва събота като първи ден от седмицата.
-vbUseSystemDayOfTheWeek - използва първия ден от седмицата, определен от настройките на вашата система.
- Първа седмица ((По избор) - Константа, която определя първата седмица от годината. Ако е празно, тогава първата седмица на януари се използва като първа седмица от годината. Firstweekofyear може да бъде една от следните стойности:
-vbFirstJan1 - използва седмицата, съдържаща 1 -ви януари.
-vbFirstFourDays - използва първата седмица, която съдържа поне четири дни през новата година.
-vbFirstFullWeek - използва първата пълна седмица от годината.
-vbSystem - използва първата седмица от годината, както е посочено в системните ви настройки.
Следният код ви показва как да използвате функцията DateDiff:
123456789 | Под използване на TheDateDiffFunction ()Затъмнете разликата между двата дати толкова дългоtheDifferenceBetweenTwoDates = DateDiff ("q", "11/11/2010", "10/12/2012")Отстраняване на грешки. Отпечатайте Разликата междуДваДатаEnd Sub |
Резултатът е:
Функция VBA DatePart
Можете да използвате функцията DatePart, за да върнете част (ден, седмица, тримесечие, месец и т.н.) от дадена дата.
Синтаксисът на функцията DatePart е:
DatePart (Интервал, дата, [Firstdayofweek], [Firstweekofyear]), където:
- Интервал - Низ, който определя частта от датата за връщане. Интервалът може да бъде една от следните стойности:
"D" - ден
„Ww“ - седмица
“W” - делничен ден
"M" - месец
“Q” - тримесечие
„Yyyy“ - година
„Y“ - ден от годината
"H" - час
“N” - минута
„S“ - второ
- Дата - Датата, от която искате функцията да върне част.
- Първи ден от седмицата (По избор) - Константа, която определя делничния ден, който функцията трябва да използва като първи ден от седмицата. Ако празният неделя се използва като първи ден от седмицата. Firstdayofweek може да бъде една от следните стойности:
-vbSunday - използва неделя като първи ден от седмицата.
-vbMonday - използва понеделник като първи ден от седмицата.
-vbTuesday - използва вторник като първи ден от седмицата.
-vbWednesday - използва сряда като първи ден от седмицата.
-vbThursday - използва четвъртък като първи ден от седмицата.
-vbFriday - използва петък като първи ден от седмицата.
-vbSaturday - използва събота като първи ден от седмицата.
-vbUseSystemDayOfTheWeek - използва първия ден от седмицата, определен от настройките на вашата система.
- Първа седмица ((По избор) - Константа, която определя първата седмица от годината. Ако е празно, тогава първата седмица на януари се използва като първата седмица в годината. Firstweekofyear може да бъде една от следните стойности:
-vbFirstJan1 - използва седмицата, съдържаща 1 -ви януари.
-vbFirstFourDays - използва първата седмица, която съдържа поне четири дни през новата година.
-vbFirstFullWeek - използва първата пълна седмица от годината.
-vbSystem - използва първата седмица от годината, както е посочено в системните ви настройки.
Следният код ви показва как да използвате функцията DatePart:
123456789 | Под -използванеTheDatePartFunction ()Затъмнете частта на датата като цяло числоthePartOfTheDate = DatePart ("гггг", "12/12/2009")Отстраняване на грешки Отпечатайте частта на ДатаEnd Sub |
Резултатът е:
VBA DateSerial функция
Функцията VBA DateSerial приема въведена година, месец и ден и връща дата.
Синтаксисът на функцията DateSerial е:
DateSerial (година, месец, ден), където:
- Година - Цяло число между 100 и 9999, което представлява годината.
- Месец - цяло число, което представлява месеца.
- Ден - Цяло число, което представлява деня.
Следният код ви показва как да използвате функцията DateSerial:
123456789 | Sub UsingTheDateSerialFunction ()Затъмнете датата като датаtheDate = DateSerial (2010, 11, 10)Отстраняване на грешки Отпечатайте дататаEnd Sub |
Резултатът е:
Функция VBA DateValue
Функцията DateValue връща дата, когато получава низово представяне на дата.
Синтаксисът на функцията DateValue е:
DateValue (Дата), където:
- Дата - Низ, представляващ датата.
Следният код ви показва как да използвате функцията DateValue:
123456789 | Под използване на TheDateValueFunction ()Затъмнете датата като датаtheDate = DateValue ("29 октомври 2010 г.")Отстраняване на грешки Отпечатайте дататаEnd Sub |
Резултатът е:
VBA Дневна функция
Можете да използвате функцията Ден, за да върнете деня на въведената дата.
Синтаксисът на функцията Day е:
Ден (Date_value), където:
- Date_value - Датата, от която искате да извлечете деня.
Следният код ви показва как да използвате функцията за деня:
123456789 | ПодпомаганеTheDayFunction ()Затъмнете деня като цяло числоtheDay = Day ("10/12/2010")Отстраняване на грешки Отпечатайте деняEnd Sub |
Резултатът е:
Функция VBA Hour
Можете да използвате функцията Hour, за да върнете часа на въведеното време.
Синтаксисът на функцията Hour е:
Час (час), където:
- Време - времето, от което искате да извлечете часа.
Следният код ви показва как да използвате функцията Hour:
123456789 | Под -използванеTheHourFunction ()Затъмнете часа като цяло числоtheHour = Hour ("2:14:17 AM")Отстраняване на грешки Отпечатайте часаEnd Sub |
Резултатът е:
VBA минутна функция
Можете да използвате функцията минута, за да върнете минутната стойност на въведеното време.
Синтаксисът на минутната функция е:
Минута (време), където:
- Време - времето, от което искате да извлечете минутната стойност.
Следният код ви показва как да използвате минутната функция:
123456789 | Под използване на TheMinuteFunction ()Затъмнете MinuteValue като цяло числоtheMinuteValue = Minute ("2:14:17 AM")Отстраняване на грешки. Отпечатайте MinuteValueEnd Sub |
Резултатът е:
VBA втора функция
Можете да използвате Втората функция, за да върнете втората стойност на входното време.
Синтаксисът на Втората функция е:
Второ (време), където:
- Време - времето, от което искате да извлечете втората стойност.
Следният код ви показва как да използвате Втората функция:
123456789 | Под използване на TheSecondFunction ()Затъмнете второто значение като цяло числоtheSecondValue = Second ("2:14:17 AM")Отстраняване на грешки Отпечатайте втората стойностEnd Sub |
Резултатът е:
VBA Месечна функция
Можете да използвате функцията месец, за да върнете месеца на датата на въвеждане.
Синтаксисът на функцията Month е:
Месец (Date_value), където:
- Date_value - Датата, от която искате да извлечете месеца.
Следният код ви показва как да използвате функцията за месец:
12345678 | Под използване на TheMonthFunction ()Затъмнете месеца като цяло числоtheMonth = Month ("18.11.2010")Отстраняване на грешки Отпечатайте месецаEnd Sub |
Резултатът е:
Функция VBA MonthName
Можете да използвате функцията MonthName, за да върнете името на месец от въведен номер на месец.
Синтаксисът на функцията MonthName е:
Име на месец (Брой_месец, [Съкратено]), където:
- Number_of_menth - Цяло число между 1 и 12.
- Съкратете (По избор) - Указва дали името на месеца трябва да бъде съкратено. Ако е празно, се използва стойността по подразбиране на False.
12345678 | Под използване на TheMonthNameFunction ()Затъмнете името на месеца като низtheMonthName = Име на месеца (12, Вярно)Отстраняване на грешки Отпечатайте името на месецаEnd Sub |
Резултатът е:
VBA TimeSerial функция
Функцията TimeSerial отнема входни часове, минути и секунди и връща време.
Синтаксисът на функцията TimeSerial е:
TimeSerial (час, минута, секунда), където:
- Час - Цяло число между 0 и 23, което представлява стойността на часа.
- Минута - Цялочислена стойност между 0 и 59, която представлява минутната стойност.
- Второ - Цяло число между 0 и 59, което представлява втората стойност.
Следният код ви показва как да използвате функцията TimeSerial:
12345678 | Sub UsingTheTimeSerialFunction ()Затъмнете времето като датаtheTime = TimeSerial (1, 10, 15)Отстраняване на грешки Отпечатайте времетоEnd Sub |
Резултатът е:
Функция VBA TimeValue
Функцията TimeValue връща време от низово представяне на дата или час.
Синтаксисът на функцията TimeValue е:
TimeValue (Време), където:
- Време - низ, представляващ времето.
Следният код ви показва как да използвате функцията TimeValue:
12345678 | Sub UsingTheTimeValueFunction ()Затъмнете времето като датаtheTime = TimeValue ("22:10:17")Отстраняване на грешки Отпечатайте времетоEnd Sub |
Резултатът е:
Функция VBA през делничния ден
Можете да използвате функцията Weekday, за да върнете цяло число от 1 - 7, представляващо ден от седмицата от датата на въвеждане.
Синтаксисът на функцията Weekday е:
Делничен ден (дата, [първи ден от седмицата]), където:
- Дата - Датата, от която искате да извлечете стойността на делничния ден.
- Първи ден от седмицата (По избор) - Константа, която определя делничния ден, който функцията трябва да използва като първи ден от седмицата. Ако празният неделя се използва като първи ден от седмицата. Firstdayofweek може да бъде една от следните стойности:
-vbSunday - използва неделя като първи ден от седмицата.
-vbMonday - използва понеделник като първи ден от седмицата.
-vbTuesday - използва вторник като първи ден от седмицата.
-vbWednesday - използва сряда като първи ден от седмицата.
-vbThursday - използва четвъртък като първи ден от седмицата.
-vbFriday - използва петък като първи ден от седмицата.
-vbSaturday - използва събота като първи ден от седмицата.
-vbUseSystemDayOfTheWeek - използва първия ден от седмицата, определен от настройките на вашата система.
Следният код ви показва как да използвате функцията за седмицата:
1234567 | Sub UsingTheWeekdayFunction ()Затъмнете седмичния ден като цяло числоtheWeekDay = Делничен ден ("20.11.2019")Отстраняване на грешки Отпечатайте седмичния денEnd Sub |
Резултатът е:
VBA WeekdayName функция
Можете да използвате функцията WeekdayName, за да върнете името на делничен ден от въведен номер на делничен ден.
Синтаксисът на функцията WeekdayName е:
WeekdayName (Weekday, [Abbreviate], [Firstdayoftheweek]) където:
- Делничен ден - Цяло число между 1 и 7.
- Съкратете (По избор) -Указва дали името на делничния ден трябва да бъде съкратено. Ако е празно, се използва стойността по подразбиране на False.
- Първи ден от седмицата (По избор) - Константа, която определя делничния ден, който функцията трябва да използва като първи ден от седмицата. Ако празният неделя се използва като първи ден от седмицата. Firstdayofweek може да бъде една от следните стойности:
-vbSunday - използва неделя като първи ден от седмицата.
-vbMonday - използва понеделник като първи ден от седмицата.
-vbTuesday - използва вторник като първи ден от седмицата.
-vbWednesday - използва сряда като първи ден от седмицата.
-vbThursday - използва четвъртък като първи ден от седмицата.
-vbFriday - използва петък като първи ден от седмицата.
-vbSaturday - използва събота като първи ден от седмицата.
-vbUseSystemDayOfTheWeek - използва първия ден от седмицата, определен от настройките на вашата система.
12345678 | Sub UsingTheWeekdayNameFunction ()Затъмнете WeedaydayName As StringtheWeekdayName = Име на делничния ден (4)Отстраняване на грешки Отпечатайте Името на седмицатаEnd Sub |
Резултатът е:
Функция за VBA година
Можете да използвате функцията година, за да върнете годината на въведената дата.
Синтаксисът на функцията за годината е:
Година (Date_value), където:
- Date_value - Датата, от която искате да извлечете годината.
Следният код ви показва как да използвате функцията за година:
12345678 | Под използване на годишната функция ()Затъмнете годината като цяло числоtheYear = Year ("11/12/2010")Отстраняване на грешки Отпечатайте годинатаEnd Sub |
Резултатът е:
Сравняване на дати във VBA
Можете да сравнявате дати, като използвате операторите>, <и = във VBA. Следният код ви показва как да сравните две дати във VBA.
12345678910111213141516171819 | Sub ComparingDates ()Затъмняване на дата Една като датаЗатъмняване на дата Две като датаdateOne = "10.10.2010 г."dateTwo = "11/11/2010"Ако dateOne> dateTwo ТогаваDebug.Print "dateOne is the later date"ElseIf dateOne = dateTwo ТогаваDebug.Print "Двете дати са равни"ИначеDebug.Print "dateTwo is the later date"Край АкоEnd Sub |
Научете повече за това как да форматирате дати като низове, като разгледате този урок.