Arkipäivät Excel VBA: ssa - Helpot Excel -makrot

Sisällysluettelo

Alla tarkastelemme ohjelmaa Excel VBA joka laskee määrän arkisin kahden päivämäärän välillä.

Arkipäivät ovat: maanantai, tiistai, keskiviikko, torstai ja perjantai.

Tilanne:

Huomaa: Päivämäärät ovat Yhdysvaltain muodossa. Kuukaudet ensin, toiset päivät. Tämä muoto riippuu Windowsin alueasetuksista.

1. Ilmoitamme ensin viisi muuttujaa. päivämäärä1 tyypistä Päivämäärä, päivämäärä2 tyypistä Päivämäärä, päivämääräToCheck -tyyppi Päiväys, päivätVälillä tyypin Kokonaisluku, viikonpäivien kokonaisluku ja i tyypin Kokonaisluku.

Himmennä päivämäärä1 Päivämääränä, päivämäärä2 Päivämääränä, päivämääräToCheck As Date
Hämärät päivät Välillä kokonaisluku, arkipäivinä kokonaislukuna ja kokonaislukuna

2. Alustamme neljä muuttujaa. Käytämme DateDiff -funktiota alustamaan muuttujan daysBetween. Tällä funktiolla on kolme argumenttia. Täytämme "d" ensimmäiseen argumenttiin, koska haluamme päivämäärän päivämäärän1 ja päivämäärän2 välillä.

arkisin = 0
päivämäärä1 = alue ("B2")
date2 = Alue ("B3")
daysBetween = DateDiff ("d", päivämäärä1, päivämäärä2)

3. Meidän on tarkistettava jokaisen päivämäärän päivämäärän1 ja päivämäärän2 välinen päivämäärä (mukaan lukien päivämäärä1 ja päivämäärä2), onko päivämäärä arkipäivä vai ei. Jos kyllä, lisäämme arkipäiviä yhdellä. Käytämme For Next -silmukkaa.

I = 0 päivään

4. Käytämme DateAdd -funktiota saadaksemme kaikki tarkistettavat päivämäärät. Tällä funktiolla on kolme argumenttia. Täytämme "d" ensimmäiselle argumentille, koska haluamme lisätä päiviä, i toiselle argumentille ja päivämäärä1 kolmannelle argumentille, koska haluamme lisätä i päivää tähän mennessä1. Tällä tavalla Excel VBA voi tarkistaa jokaisen päivämäärän päivämäärän1 ja päivämäärän2 välillä päivämäärä1 alkaen. Lisää seuraava koodirivi:

dateToCheck = DateAdd ("d", i, date1)

Esimerkki: jos i = 3, Excel VBA tarkistaa päivämäärän1 + 3 päivää.

5. Seuraavaksi käytämme Weekday -toimintoa (build -toiminto) tarkistaaksemme, onko dateToCheck arkipäivä vai ei. Viikonpäivätoiminto palauttaa sunnuntaina arvon 1 ja lauantaina 7. Siksi lisäämme muuttuvaa arkipäivää vain, jos Weekday (dateToCheck) ei ole yhtä eikä 7 (tarkoittaa ei yhtä kuin). Seuraavat koodirivit suorittavat työn.

Jos (Viikonpäivä (dateToCheck) 1 Ja Viikonpäivä (dateToCheck) 7) Sitten
arkipäivät = arkipäivät + 1
Loppu Jos

6. Älä unohda sulkea silmukkaa.

Seuraavaksi minä

7. Lopuksi näytämme arkipäivien määrän käyttämällä MsgBoxia. Käytämme & -operaattoria kahden merkkijonon ketjutukseen (yhdistämiseen). Vaikka arkipäivät eivät ole merkkijono, se toimii täällä.

MsgBoxin arkipäivät ja "arkipäivät näiden kahden päivämäärän välillä"

8. Aseta makro komentopainikkeeseen ja testaa se.

Tulos:

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave