Функция date в vba

Функция date в vba

Функции VBA для работы с датой/временем, функции Date(), Time(), DateAdd(), DateDiff(), DatePart(), DateSerial(), Timer()

Без функций даты и времени обычно обойтись просто невозможно. Самые важные функции VBA для работы с датой/временем:

  • Date() — возвращает текущую системную дату. Установить ее можно при помощи одноименного оператора, например, так:
  • Time() возвращает текущее системное время, а Now() — дату и время вместе.
  • DateAdd() — возможность добавить к дате указанное количество лет, кварталов, месяцев и так далее — вплоть до секунд.
  • DateDiff() — возможность получить разницу между датами (опять таки в единицах от лет до секунд).
  • DatePart() — очень важная функция, которая возвращает указанную вами часть даты (например, только год, только месяц или только день недели).
  • DateSerial() — возможность создать значение даты на основе передаваемых символьных значений. То же самое делает DateValue(), отличия — в формате принимаемых значений. Аналогичным образом (для времени) работают TimeSerial() и TimeValue().
  • Day() (а также Year(), Month(), Weekday(), Hour(), Minute(), Second()) — специализированные заменители функции DatePart(), которые возвращают нужную вам часть даты.
  • MonthName() — возвращает имя месяца словами по его номеру. Возвращаемое значение зависит от региональных настроек. Если они русские, то вернется русское название месяца.
  • Timer() — возвращает количество секунд, прошедших с полуночи.

Если нужно получить дополнительные возможности работы с датой/временем, то в вашем распоряжении объектная модель Outlook. Например, при помощи нее можно получить информацию о праздниках и рабочих/нерабочих днях большинства стран мира. Подробнее — в соответствующем разделе.

VBA DateAdd Function

You can use the DateAdd Function to add a date/time interval to a date or time, and the function will return the resulting date/time.

Читайте также:  Как обнулить windows 7 без переустановки

The syntax of the DateAdd Function is:

DateAdd(Interval, Number, Date) where:

  • Interval – A string that specifies the type of interval to use. The interval can be one of the following values:

“d” – day
“ww” – week
“w” – weekday
“m” – month
“q” – quarter
“yyyy” – year
“y” – day of the year
“h” – hour
“n” – minute
“s” – second

  • Number – The number of intervals that you want to add to the original date/time.
  • Date – The original date/time.

Note: When using dates in your code you have to surround them with # or quotation marks.

The following code shows how to use the DateAdd Function:

VBA DateDiff Function

You can use the DateDiff Function in order to get the difference between two dates, based on a specified time interval.

The syntax of the DateDiff Function is:

DateDiff(Interval, Date1, Date2, [Firstdayofweek], [Firstweekofyear]) where:

  • Interval – A string that specifies the type of interval to use. The interval can be one of the following values:

“d” – day
“ww” – week
“w” – weekday
“m” – month
“q” – quarter
“yyyy” – year
“y” – day of the year
“h” – hour
“n” – minute
“s” – second

  • Date1 – A date value representing the earlier date.
  • Date2 – A date value representing the later date.
  • Firstdayofweek (Optional) – A constant that specifies the weekday that the function should use as the first day of the week. If blank Sunday is used as the first day of the week. Firstdayofweek can be one of the following values:
Читайте также:  Как с компа загружать фото в инстаграм

-vbSunday – uses Sunday as the first day of the week.
-vbMonday – uses Monday as the first day of the week.
-vbTuesday – uses Tuesday as the first day of the week.
-vbWednesday – uses Wednesday as the first day of the week.
-vbThursday – uses Thursday as the first day of the week.
-vbFriday – uses Friday as the first day of the week.
-vbSaturday – uses Saturday as the first day of the week.
-vbUseSystemDayOfTheWeek – uses the first day of the week that is specified by your system’s settings.

  • Firstweekofyear (Optional) – A constant that specifies the first week of the year. If blank then the Jan 1st week is used as the first week of the year. Firstweekofyear can be one of the following values:

-vbFirstJan1 – uses the week containing Jan 1st.
-vbFirstFourDays – uses the first week that contains at least four days in the new year.
-vbFirstFullWeek – uses the first full week of the year.
-vbSystem – uses the first week of the year as specified by your system settings.

The following code shows you how to use the DateDiff Function:

    Date () — возвращает текущую системную дату. Установить ее можно при помощи одноименного оператора, например, так:

DateDiff () — возможность получить разницу между датами (опять таки в единицах от лет до секунд).

Dim lDaysCnt As Long lDaysCnt = DateDiff("d", "20.11.2012", Now) MsgBox "С 20.11.2012 прошло дней: " & lDaysCnt

Первый аргумент определяет период времени, в котором необходимо вернуть разницу между датами. Допустимые значения:
"yyyy" Год
"q" Квартал
"m" Месяц
"y" День года
"d" День
"w" День недели
"ww" Неделя
"h" Час
"n" Минута
"s" Секунда
Наиболее полезна DateDiff при вычислении полных лет. Например, чтобы вычислить сколько лет на текущий момент человеку, в зависимости от даты рождения, можно использовать функцию так:

Читайте также:  Чем отличается хлеб от булки

MsgBox DateDiff("yyyy", "20.12.1978", Now)

Без этой функции вычислить кол-во полных лет гораздо сложнее.
DatePart () — функция возвращает указанную часть даты (например, только год, только месяц или только день недели), на основании заданной даты. Часто применяется для получения номера недели для даты.
Первый аргумент — период времени. Принимаемые значения те же, что и для функции DateDiff (годы, месяцы, недели и т.д.)
Второй аргумент — непосредственно дата, часть которой необходимо получить:

MsgBox "Номер недели года: " & DatePart("ww", Now)

MsgBox DateSerial(2012, 6, 7)

Аналогичным образом (для времени) работают TimeSerial () и TimeValue ()

  • Day (), Year (), Month (), Weekday (), Hour (), Minute (), Second () — специализированные заменители функции DatePart() , которые возвращают нужную часть даты/времени (которую именно — видно из названия).
  • MonthName () — возвращает имя месяца словами по его номеру. Возвращаемое значение зависит от региональных настроек. Если они русские, то вернется русское название месяца.
  • Timer () — возвращает количество секунд, прошедших с полуночи.
  • Ссылка на основную публикацию
    Форум лексус рх 350 2007
    Как выбрать Lexus RX?Надёжная ли машина?Какой расход топлива?Какие бывают комплектации?Насколько нужны те или иные функции?На что смотреть при покупке? Информация...
    Уроки нлп для начинающих
    Если вы хотя бы немного интересуетесь психологией, то о нейролингвистическом программировании (НЛП), наверное, тоже слышали. В статье мы постараемся объяснить...
    Уроки ворд 2010 для начинающих
    Microsoft Office 2010 — бесплатные обучающие уроки для чайников с нуля. Получите необходимые навыки профессиональной работы с пакетом Microsoft Office...
    Форум грибников витебской области
    В Беларуси много грибов: белые грибы, подосиновики, лисички и др. #новостиlespr или #newslespr - добавляйте фото в инстаграм с таким...
    Adblock detector