Funkcia VBA DateDiff

Popis rozdielu dátumu

Vráti rozdiel medzi dvoma hodnotami dátumu na základe zadaného intervalu.

Jednoduché príklady rozdielov medzi dátumami

Tu je jednoduchý príklad DateDiff:

123 Náhradný dátum Rozdiel_Rok ()MsgBox DateDiff („rrrr“, #1/1/2019 #, #8/1/2021 #)Koniec pod

Tento kód vráti 2. Toto je rozdiel medzi rokom (označený „rrrr“) medzi 2 dňami. (2021 - 2022 = 2)

Vo vyššie uvedenom príklade zmena pozícií dátumu1 a dátumu2.

123 Náhradný dátum Rozdiel_Rok ()MsgBox DateDiff („rrrr“, #8/1/2021 #, #1/1/2019 #)Koniec pod

Tento kód vráti -2.

Syntax DateDiff

V editore VBA môžete zadaním „DateDiff (“ zobraziť syntax funkcie DateDiff:

Funkcia DateDiff obsahuje 5 argumentov:

Interval: Časová jednotka (dni, mesiace, roky atď.). Zadajte ako reťazec. (napr. „m“ za mesiac)

Nastavenie Popis
rrrr Rok
q Štvrťrok
m Mesiac
r Deň v roku
d Deň
w Všedný deň
ww Týždeň
h Hodina
n Minúta
s Druhý

Dátum1, Dátum2: Dva dátumy, ktoré chcete použiť pri výpočte.

FirstDayOfWeek: Konštanta, ktorá určuje prvý deň v týždni. Toto je voliteľné. Ak nie je uvedené inak, predpokladá sa nedeľa.

Konštantný Hodnota Popis
vbUseSystem 0 Použite nastavenie API NLS.
vb Nedeľa 1 Nedeľa (predvolené)
vbMonday 2 Pondelok
vbÚterý 3 Utorok
vb streda 4 Streda
vbŠtvrtok 5 Štvrtok
vbPiatok 6 Piatok
vbSobota 7 Sobota

FirstWeekOfYear: Konštanta, ktorá určuje prvý týždeň v roku. Toto je voliteľné. Ak nie je uvedené inak, za prvý týždeň sa považuje týždeň, v ktorom sa vyskytuje 1. január.

Konštantný Hodnota Popis
vbUseSystem 0 Použite nastavenie API NLS.
vbFirstJan1 1 Začnite týždňom, v ktorom je 1. január (predvolené).
vbFirstFourDays 2 Začnite prvým týždňom, ktorý má v novom roku najmenej štyri dni.
vbFirstFullWeek 3 Začnite prvým celým týždňom v roku.

Programovanie VBA | Generátor kódu pracuje za vás!

Príklady funkcie Excel VBA DateDiff

Referenčné termíny

Na začiatok predvedieme rôzne spôsoby odkazovania na dátumy pomocou funkcie VBA DateDiff.

Každá z týchto funkcií DateDiff prináša rovnaký výsledok:

123456789 Sub DateDiff_ReferenceDates ()MsgBox DateDiff ("m", #4/1/2019 #, #8/1/2021 #)MsgBox DateDiff ("m", DateSerial (2019, 4, 1), DateSerial (2021, 8, 1))MsgBox DateDiff ("m", DateValue ("1. apríla 2022"), DateValue ("1. augusta 2022"))Koniec pod

Alebo môžete odkazovať na bunky obsahujúce dátumy:

12345 Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", Rozsah ("C2"). Hodnota, Rozsah ("C3"). Hodnota)Koniec pod

Alebo vytvorte a odkazujte na premenné dátumu:

123456789 Sub DateDiff_Variable ()Dim dt1 As Date, dt2 As Datedt1 = #4/1/2019 #dt2 = #8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)Koniec pod

Ste unavení z hľadania príkladov kódu VBA? Skúste AutoMacro!

Použitie rôznych jednotiek intervalu

Štvrtiny

123 Sub DateDiff_Qarter ()MsgBox "počet štvrťrokov:" & DateDiff ("q", #1/1/2019 #, #1/1/2021 #)Koniec pod

Mesiace

123 Sub DateDiff_Month ()MsgBox "počet mesiacov:" a dátumový rozdiel ("m", #1/1/2019 #, #1/1/2021 #)Koniec pod

Dni

123 Sub DateDiff_Day ()MsgBox "počet dní:" a dátumový rozdiel ("d", #1/1/2019 #, #1/1/2021 #)Koniec pod

Týždne

123 Sub DateDiff_Week ()MsgBox "počet týždňov:" a dátumový rozdiel ("w", #1/1/2019 #, #1/1/2021 #)Koniec pod

Hodiny

123456789101112 Sub DateDiff_Hour ()Dim dt1 ako dátumDim dt2 k dátumuDim nDiff As Longdt1 = #8/14/2019 9:30:00 AM #dt2 = #8/14/2019 13:00:00 PM #nDiff = DateDiff ("h", dt1, dt2)MsgBox „hodiny:“ & nDiffKoniec pod

Zápisnica

123 Sub DateDiff_Minute ()MsgBox „min:“ & DateDiff („n“, #8/14/2019 9:30:00 AM #, #8/14/2019 9:35:00 AM #)Koniec pod

Sekundy

123 Sub DateDiff_Second ()MsgBox "s:" & DateDiff ("s", #8/14/2019 9:30:10 AM #, #8/14/2019 9:30:22 AM #)Koniec pod

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave