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 |