Funkcija VBA DateDiff

Opis DateDiff

Vrne razliko med dvema vrednostma datuma glede na podani interval.

Preprosti primeri DateDiff

Tu je preprost primer DateDiff:

123 Sub DateDiff_Year ()MsgBox DateDiff ("llll", #1/1/2019 #, #8/1/2021 #)End Sub

Ta koda bo vrnila 2. To je razlika med letom (označena z "llll") med 2 dnevoma. (2021 - 2022 = 2)

V zgornjem primeru spreminjanje pozicij date1 in date2.

123 Sub DateDiff_Year ()MsgBox DateDiff ("llll", #8/1/2021 #, #1/1/2019 #)End Sub

Ta koda bo vrnila -2.

Sintaksa DateDiff

V urejevalniku VBA lahko vnesete »DateDiff («, če si želite ogledati skladnjo funkcije DateDiff:

Funkcija DateDiff vsebuje 5 argumentov:

Interval: Časovna enota (dnevi, meseci, leta itd.). Vnesite kot niz. (npr. "m" za mesec)

Nastavitev Opis
llll Leto
q Četrtina
m Mesec
y Dan v letu
d Dan
w Delovni dan
ww Teden
h Ura
n Minuta
s Drugič

Datum1, Datum2: Dva datuma, ki ju želite uporabiti pri izračunu.

Prvi dan tedna: Konstanta, ki določa prvi dan v tednu. To ni obvezno. Če ni določeno, se predvideva nedelja.

Konstantno Vrednost Opis
vbUseSystem 0 Uporabite nastavitev API -ja NLS.
vb nedelja 1 Nedelja (privzeto)
vb ponedeljek 2 Ponedeljek
vb Torek 3 Torek
vb sreda 4 Sreda
vb četrtek 5 Četrtek
vbPetek 6 Petek
vbSobota 7 Sobota

Prvi teden: Leto: Konstanta, ki določa prvi teden v letu. To ni obvezno. Če ni določeno, se za prvi teden šteje teden, v katerem nastopi 1. januar.

Konstantno Vrednost Opis
vbUseSystem 0 Uporabite nastavitev API -ja NLS.
vbFirstJan1 1 Začnite s tednom, v katerem nastopi 1. januar (privzeto).
vbFirstFourDays 2 Začnite s prvim tednom, ki ima v novem letu vsaj štiri dni.
vbFirstFullWeek 3 Začnite s prvim polnim tednom v letu.

Programiranje VBA | Generator kod deluje za vas!

Primeri funkcije Excel VBA DateDiff

Sklicevanje na datume

Za začetek bomo pokazali različne načine sklicevanja na datume s funkcijo VBA DateDiff.

Vsaka od teh funkcij DateDiff daje enak rezultat:

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. april 2022"), DateValue ("1. avgust 2022"))End Sub

Lahko pa se sklicujete na celice, ki vsebujejo datume:

12345 Sub DateDiff_ReferenceDates_Cell ()MsgBox DateDiff ("m", Razpon ("C2"). Vrednost, Razpon ("C3"). Vrednost)End Sub

Ali ustvarite spremenljivke referenčnega datuma:

123456789 Sub DateDiff_Variable ()Zatemni dt1 kot datum, dt2 kot datumdt1 = #4/1/2019 #dt2 = #8/1/2021 #MsgBox DateDiff ("m", dt1, dt2)End Sub

Utrujen od iskanja primerov kode VBA? Preizkusite AutoMacro!

Uporaba različnih enot intervala

Četrtine

123 Sub DateDiff_Quarter ()MsgBox "število četrtletjev:" & DateDiff ("q", #1/1/2019 #, #1/1/2021 #)End Sub

Meseci

123 Sub DateDiff_Month ()MsgBox "število mesecev:" & DateDiff ("m", #1/1/2019 #, #1/1/2021 #)End Sub

Dnevi

123 Sub DateDiff_Day ()MsgBox "število dni:" & DateDiff ("d", #1/1/2019 #, #1/1/2021 #)End Sub

Tedni

123 Sub DateDiff_Week ()MsgBox "število tednov:" & DateDiff ("w", #1/1/2019 #, #1/1/2021 #)End Sub

Ure

123456789101112 Sub DateDiff_Hour ()Zatemni dt1 kot datumZatemni dt2 kot datumZatemni nDiff tako dolgodt1 = #14.8.2019 9:30:00 #dt2 = #14.8.2019 13:00:00 #nDiff = DateDiff ("h", dt1, dt2)MsgBox "ure:" & nDiffEnd Sub

Minute

123 Sub DateDiff_Minute ()MsgBox "mins:" & DateDiff ("n", #8/14/2019 9:30:00 #, #8/14/2019 9:35:00 AM)End Sub

Sekunde

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

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave