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 TemplateEsimerkki # 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 -
- VBA: n ilmoitusjoukko (esimerkit)
- Täydellinen VBA-virheopas
- Suojaa arkki-menetelmä VBA: lla
- VBA-sarakkeet | Excel-malli
- VBA Environ