DateDiff -toiminto Excel VBA: ssa

VBA Datediff -toiminto tarjoaa eron kahden määritetyn ajanjakson välillä. Tässä aikaväli voidaan määrittää tunneiksi / kuukaudeksi / päiväksi … jne. Käyttäjän määrittelemällä tavalla. Se on Excelissä sisäänrakennettu toiminto, joka luokitellaan päivämäärä / aika -toimintoksi. Sitä voidaan käyttää “ VBA ” -toimintona Excelissä.

Syntaksi :

DateDiff-toiminnossa käytetty parametri tai argumentit.

1. Väli:

  • Se on pakollinen.
  • Tyyppi: - Merkkijonotyyppinen lauseke.
  • Se laskee kahden päivämäärän välisen eron.
Asetus (väli) Kuvaus / Selitys
”S” sekuntia
”N” Pöytäkirja
”H” tuntia
”D” päivää
”W” arkipäivä
”M” Kuukaudet
”Ww” Viikko
”Y” Vuoden päivä
”Q” neljännes
”Vvvv” vuosi

2. päivämäärä1:

  • Se on pakollinen.
  • Tyyppi: - Päivämäärä.
  • Se edustaa päivämäärän laskennan alkamispäivää / -aikaa.

3. Päiväys2:

  • Se on pakollinen.
  • Tyyppi: - Päivämäärä.
  • Se edustaa päivämäärän laskennan päättymispäivää / -aikaa.

4. Viikon ensimmäinen päivä:

  • Se on valinnainen.
  • Tyyppi: - Numeerinen tai Teksti.
  • Se määrittelee päivän, jota käytetään viikon ensimmäisenä päivänä.
  • Jos tämä argumentti tai parametri jätetään pois, siinä oletetaan sunnuntai (VbSunday) viikon ensimmäisenä päivänä.

5. Vuoden ensimmäinen viikko

  • Se on valinnainen.
  • Tyyppi: - Numeerinen tai Teksti.
  • Se määrittelee päivän, jota käytetään vuoden ensimmäisenä viikkona.
  • Jos tämä argumentti tai parametri jätetään pois, sen oletetaan olevan 1. tammikuuta (vbFirstJan1) vuoden ensimmäisenä viikkona.

Kuinka ottaa Kehittäjän välilehti käyttöön Excelissä?

Kehittäjä-välilehti on pakollinen Excel-nauhassa VBA-makron aloittamiseksi ja kirjoittamiseksi. Alla on eri vaiheet, joiden avulla kehittäjät-välilehti otetaan käyttöön Excel VBA: ssa:

Vaihe 1: Siirry Tiedosto- valikko-välilehteen.

Vaihe 2: Napsauta Tiedosto-valikossa Asetukset, jotka sijaitsevat valikon viimeisen käytettävissä olevan vaihtoehdon luettelossa.

Vaihe 3: Napsauta Customize Ribbon päästäksesi nauhan mukautusvaihtoehtoihin.

Vaihe 4: Täällä mukautusasetuksissa näet Kehittäjä- vaihtoehdon. Valitse se, niin että se aktivoituu excel-päänauhaan ja siihen pääsee helposti. Napsauta OK, kun olet tarkistanut Kehittäjä-vaihtoehdon.

Heti kun painat OK, näet Kehittäjä-välilehden aktiivisena Excel-nauhavalikossa, ja siinä on joukko erilaisia ​​vaihtoehtoja. Katso alla oleva kuvakaappaus.

Kuinka käyttää DateDiff-toimintoa Excel VBA: ssa?

Alla on eri vaiheet DateDiff-toiminnon käyttämiseksi Excel VBA: ssa:

Voit ladata tämän VBA DateDiff Excel -mallin tästä - VBA DateDiff Excel Template

Esimerkki # 1

Seuraa tässä esimerkissä seuraavia vaiheita käyttääksesi DateDiff-toimintoa VBA: ssa:

Vaihe 1: Luo ensin makronimi.

Koodi:

 Sub bb () Loppu Sub 

Vaihe 2: Kaksi muuttujaa määritetään päivämääräksi ja niille määritetään päivämäärä.

Koodi:

 Subbb () Dim dt1 Päivämääränä Dim dt2 Päivämääränä dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # End Sub 

Vaihe 3: Kirjoita Datediff-toiminnon syntaksi ottamalla tarvittava argumentti ja määritä se VBA-sanomaikkunan kautta.

Koodi:

 Subbb () Dim dt1 Päivämääränä Dim dt2 Päivämääränä dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # # MsgBox DateDiff ("h", dt1, dt2) Loppu alaosa 

Vaihe 4: Suorita koodi painamalla F5-näppäintä tai napsauttamalla Toista-painiketta. Joten tulos näkyy viestiruudussa.

Esimerkki 2

Seuraavassa esimerkissä päivätty toiminto laskee vuosien lukumäärän kahden päivämäärän ”09.06.2016” ja ”16.12.20120” välillä. Tässä valinnaisia ​​parametrejä ei oteta huomioon.

Koodi:

 Sub AA () 'Vuosierot MsgBox DateDiff ("vvvv", "09.06.2016", "16.12.20120") Loppu alaosa 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki 3

Seuraavassa esimerkissä päivätty toiminto laskee kuukausien määrän kahden päivämäärän ”09.06.2016” ja ”16.12.20120” välillä. Tässä valinnaisia ​​parametrejä ei oteta huomioon.

Koodi:

 Sub AA1 () - kuukausierot MsgBox DateDiff ("m", "09.06.2016", "16.12.20120") Loppu Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki 4

Seuraavassa esimerkissä päivätty toiminto laskee viikkojen määrän kahden päivämäärän ”09.06.2016” ja ”16.12.20120” välillä. Tässä valinnaisia ​​parametrejä ei oteta huomioon.

Koodi:

 Sub AA2 () -viikkojen ero MsgBox DateDiff ("ww", "09.06.2016", "16.12.20120") Loppu Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki 5

Alla olevassa esimerkissä ” päivätty toiminto” laskee neljännesten lukumäärän kahden päivämäärän ”09.06.2016” ja ”16.12.20120” välillä. Tässä valinnaisia ​​parametrejä ei oteta huomioon.

Koodi:

 Sub AA3 () - vuosineljänneksen ero MsgBox DateDiff ("q", "09.06.2016", "16.12.20120") Loppu Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki 6

Alla olevassa esimerkissä ” päivätty toiminto” laskee päivien määrän kahden päivämäärän ”09.06.2016” ja ”16.12.20120” välillä. Tässä valinnaisia ​​parametrejä ei oteta huomioon.

Koodi:

 Sub AA4 () - päivien ero MsgBox DateDiff ("d", "09.06.2016", "16.12.20120") Loppu Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki # 7

Alla olevassa esimerkissä ” päivätty ” -toiminto laskee tuntimäärän kahden päivämäärän ja ajan välillä ”9:00 01.01.2010” ja ”11.00 19.4.2019”.

Koodi:

 Sub bb1 () 'Laske tuntien lukumäärä välillä 1.1.2010 9:00 - 19.4.2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki 8

Alla olevassa esimerkissä ” päivätty ” -toiminto laskee sekunttien lukumäärän kahden päivämäärän ja ajan välillä ”9:00 01.01.2010” ja ”11.00 19.4.2019”.

Koodi:

 Sub bb2 () 'Laske sekuntien lukumäärä 1.1.2010 - 9.00–19.4.2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("s", dt1, dt2) End Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki 9

Alla olevassa esimerkissä ” päivätty ” -toiminto laskee minuuttien määrän kahden päivämäärän ja ajan välillä ”9:00 01.01.2010” ja ”11.00 19.4.2019”.

Koodi:

 Sub bb3 () 'Laske minuuttien määrä välillä 1.1.2010 9:00 - 19.4.2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 # MsgBox DateDiff ("n", dt1, dt2) End Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki # 10

Jos argumentiksi määritetään “w” (viikkoa), “Datasiff” -toiminto palauttaa kahden viikon päivämäärän välisen koko viikon numeron. Osittainen viikko jätetään huomioimatta. Esimerkissä ” DateDiff ” -toiminto laskee kokonaisten viikkojen määrän päivämäärien 01.01.2010 - 19.4.2019 välillä.

Koodi:

 Sub bb4 () 'Laske viikkojen lukumäärä 1.1.2010 - 19.4.2010 välisenä aikana Dim dt1 Päivämääränä Dim dt2 Päivämääränä dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) Loppu alaosa 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki # 11

Jos argumentiksi määritetään ”ww” (kalenteriviikot), ”Datasiff-toiminto” antaa viikkojen määrän viikon alkamisen välillä, joka sisältää päivämäärä1, ja viikon alkamiseen, joka sisältää päivämäärän2.

Koodi:

 Sub bb5 () 'Laske kalenteriviikkojen lukumäärä 1.1.2010 - 19.4.2019 välisenä aikana' Viikon ensimmäinen päivä = Maanantai Dim dt1 Päivämääränä Dim dt2 Päivämääränä dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Esimerkki # 12

Alla olevassa esimerkissä ”päivättyjä” -toimintoa käytetään päivämäärille ”1/1/1990” ja “1/1/1998”

Koodi:

 Sub cc () Dim dt1 Päivämääränä Dim dt2 Päivämääränä dt1 = # 1/1/1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 # MsgBox ("line 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("rivi 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("rivi 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("rivi 4:" & DateDiff ("d", dt1, dt2)) MsgBox ("rivi 5:" & DateDiff ("m", dt1, dt2)) MsgBox ("rivi 6:" & DateDiff ("q"), dt1, dt2)) MsgBox ("rivi 7:" & DateDiff ("w", dt1, dt2)) MsgBox ("rivi 8:" & DateDiff ("ww", dt1, dt2)) MsgBox ("rivi 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" rivi 10: "& DateDiff (" vvvv ", dt1, dt2)) End Sub 

Suorita ohjelma painamalla “ F8 ” tai “ Suorita ” -välilehteä. Tulos näkyy viestiruudussa.

Napsauta sitten ” Ok ” saadaksesi seuraavan tuloksen.

johtopäätös

DateDiff ” -toiminto auttaa siten määrittämään, kuinka monta määritettyä aikaväliä on kahden määritetyn päivämäärän ja ajan välillä.

Suositellut artikkelit

Tämä on opas VBA DateDiff -sivulle. Tässä keskustellaan siitä, kuinka DateDiff-toimintoa voidaan käyttää Excel VBA: ssa käytännön esimerkien ja ladattavien Excel-mallien kanssa. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA: n ilmoitusjoukko (esimerkit)
  2. Täydellinen VBA-virheopas
  3. Suojaa arkki-menetelmä VBA: lla
  4. VBA-sarakkeet | Excel-malli
  5. VBA Environ

Luokka: