Дата Добавяне на описание
Функцията VBA DateAdd ви позволява да добавяте (или изваждате) дни, месеци, години, часове, тримесечия и т.н. към дати или часове.
Прости примери за добавяне на дата
Ето един прост пример за DateAdd:
123 | Sub DateAdd_Day ()MsgBox DateAdd ("d", 20, #4/1/2021 #)End Sub |
Този код ще добави 20 дни (обозначени с „d“) към датата 4/1/2021:
Вместо това можем да променим аргумента Интервал от „d“ на „m“, за да добавим 20 месеца към датата 4/1/2021:
123 | Sub DateAdd_Month ()MsgBox DateAdd ("m", 20, #4/1/2021 #)End Sub |
Вместо да показваме датата в поле за съобщение, можем да я присвоим на променлива:
123456 | Sub DateAdd_Day2 ()Затъмнете dt като датаdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub |
Синтаксис на добавяне на дата
В редактора на VBA можете да въведете „DateAdd (“, за да видите синтаксиса за функцията DateAdd:
Функцията DateAdd съдържа 3 аргумента:
Интервал: Единица за време (дни, месеци, години и т.н.). Въведете като низ. (напр. „m“ за месец)
Настройка | Описание |
---|---|
yyyy | Година |
q | Квартал |
м | Месец |
y | Ден на годината |
д | Ден |
w | Делничен ден |
ww | Седмица |
з | Час |
н | Минута |
с | Второ |
Номер: Числова стойност, представляваща броя на времевите единици за добавяне. (напр. 20 за добавяне на 20 единици)
Дата: Начална дата. Вижте следващия раздел.
VBA програмиране | Code Generator работи за вас!
Примери за Excel VBA DateAdd функция
Позоваване на дати
За начало ще демонстрираме различни начини за препращане към дати, използвайки функцията VBA DateAdd.
Всяка от тези функции DateAdd дава един и същ резултат:
123456789 | Sub DateAdd_ReferenceDates ()MsgBox DateAdd ("m", 2, #4/1/2021 #)MsgBox DateAdd ("m", 2, DateSerial (2021, 4, 1))MsgBox DateAdd ("m", 2, DateValue ("1 април 2022 г."))End Sub |
Или можете да посочите клетка, съдържаща дата:
12345 | Sub DateAdd_ReferenceDates_Cell ()MsgBox DateAdd ("m", 2, Range ("C2"). Стойност)End Sub |
Или създайте и посочете променлива за дата:
12345678 | Sub DateAdd_Variable ()Dim dt като датаdt = #4/1/2021 #MsgBox DateAdd ("m", 2, dt)End Sub |
Добавяне или изваждане на дати
Вече ви показахме как да добавите към дата:
123456 | Sub DateAdd_Day2 ()Затъмнете dt като датаdt = DateAdd ("d", 20, #4/1/2021 #)MsgBox dtEnd Sub |
Можете да извадите от дати, като използвате отрицателно число (напр. -20 вместо 20):
123456 | Sub DateAdd_Day ()Затъмнете dt като датаdt = DateAdd ("d", -20, #4/1/2021 #)MsgBox dtEnd Sub |
Уморени ли сте от търсене на примери за VBA код? Опитайте AutoMacro!
Добавяне на различни единици за време
Години
123 | Sub DateAdd_Years ()MsgBox DateAdd ("гггг", 4, #4/1/2021 #)End Sub |
Квартал
123 | Sub DateAdd_Quarters ()MsgBox DateAdd ("q", 2, #4/1/2021 #)End Sub |
Месец
123 | Sub DateAdd_Months ()MsgBox DateAdd ("m", 2, #4/1/2021 #)End Sub |
Ден на годината
123 | Sub DateAdd_DaysofYear ()MsgBox DateAdd ("y", 2, #4/1/2021 #)End Sub |
Ден
123 | Sub DateAdd_Days3 ()MsgBox DateAdd ("d", 2, #4/1/2021 #)End Sub |
Делничен ден
123 | Sub DateAdd_Weekdays ()MsgBox DateAdd ("w", 2, #4/1/2021 #)End Sub |
Седмица
123 | Sub DateAdd_Weeks ()MsgBox DateAdd ("ww", 2, #4/1/2021 #)End Sub |
VBA програмиране | Code Generator работи за вас!
Добавете към Днес
Тези примери ще добавят времеви единици към днешния ден, като използват функцията за дата.
123456789 | Sub DateAdd_Year_Test ()Dim dtToday As DateDim dt По -късно като датаdtToday = ДатаdtLater = DateAdd ("гггг", 1, dtToday)MsgBox "Година по -късно е" & dtLaterEnd Sub |
123 | Sub DateAdd_Quarter_Test ()MsgBox "2 тримесечия по -късно е" & DateAdd ("q", 2, Дата)End Sub |
Добавяне и изваждане на време
Функцията DateAdd работи и с Times. Ето няколко примера за добавяне (или изваждане) на време на време:
Час
Този пример ще добави 2 часа към момент:
123 | Sub DateAdd_Hour ()MsgBox DateAdd ("h", 2, #4/1/2021 6: 00: 00 #)End Sub |
Минута
Този пример ще извади 120 минути от текущото време:
123 | Sub DateAdd_Minute_Subtract ()MsgBox DateAdd ("n", -120, сега)End Sub |
Второ
123 | Sub DateAdd_Second ()MsgBox DateAdd ("s", 2, #4/1/2021 6: 00: 00 #)End Sub |
Форматиране на дати
Когато датите (или часовете) се показват в Excel, потребителски формуляри или кутии за съобщения, трябва да посочите как трябва да се показват датите, като използвате функцията за форматиране. По -долу сме включили няколко примера:
123456789101112131415161718 | ПодформатиранеDatesTimes ()'Връща текущата дата и часdt = Сега ()„бивш 07/02/2021Диапазон ("B2") = Формат (dt, "mm/dd/yyyy")„бивш 2 юли 2022 г.Диапазон ("B3") = Формат (dt, "mmmm d, гггг")„бивш 2 юли 2022 г. 09:10Диапазон ("B4") = Формат (dt, "mm/dd/yyyy hh: mm")„бивш 7.2.21 г. 9:10 чДиапазон ("B5") = Формат (dt, "m.d.yy h: mm AM/PM")End Sub |