VBA nädalapäev | Samm-sammult juhend VBA argipäeva funktsiooni kohta

Exceli VBA nädalapäeva funktsioon

Nädalapäev VBA-s on kuupäeva ja kellaaja funktsioon, mida kasutatakse antud kuupäeva nädalapäeva tuvastamiseks tingimusel, et see on sisend, see funktsioon tagastab täisarvu vahemikus 1 kuni 7. Sellele funktsioonile on antud valikuline argument, mis on nädala esimene päev, kuid kui me ei anna nädala esimest päeva, eeldab funktsioon vaikimisi nädala esimest päeva pühapäeva.

Kas saame nädalapäeva numbri öelda konkreetset kuupäeva vaadates? Jah, me võime öelda selle nädala päevanumbri sõltuvalt nädala alguspäevast. Tavalistes töölehe funktsioonides on meil Excelis funktsioon nimega WEEKDAY, et öelda konkreetse kuupäeva nädala number. Ka VBA-s on meil sama funktsioon sama ülesande leidmiseks.

Mida teeb nädalapäeva funktsioon?

Nädalapäeva funktsioon tagastab antud kuupäeva päeva numbri nädalas. Näiteks kui teil on kuupäevad 01. aprill kuni 7. aprill ja kui soovite teada kuupäeva 5. aprill, kui nädala alguspäev on esmaspäevast, on see 5. päev.

Selle leidmiseks on meil sama funktsioon “Nädalapäev” nii töölehel kui ka VBA-s. Allpool on funktsiooni süntaks.

Kuupäev: milliseks kuupäevaks püüame leida nädalapäeva. See peaks olema õige vorminguga kuupäev.

[Nädala esimene päev]: Selleks, et määrata argipäevased on sätestatud kuupäev peame mainima milline on esimesel päeval nädalas. Vaikimisi peab VBA nädala alguspäevaks esmaspäeva. Peale selle saame pakkuda ka allpool olevaid päevi.

Näited

Selle VBA WeekDay Function Exceli malli saate alla laadida siit - VBA WeekDay Function Exceli mall

Näide 1

Menetluse alustamiseks lubage mul kõigepealt alustada lihtsast näitest. Nüüd proovime leida tööpäeva kuupäevaks “10.-aprill-2019”.

1. samm: määrake muutuja stringiks

Kood:

 Alanädalapäev_Näide1 () Dim k As String End Sub 

2. samm: määrake muutujale väärtus

Määrake väärtus muutujale “k”, rakendades funktsiooni WEEKDAY.

Kood:

 Alanädalapäeva_näide1 () Dim k As String k = nädalapäev (lõpu Alam 

3. samm: sisestage funktsiooni kuupäev

Kuupäev, mida siin testime, on “10-Apr-2019”, seega sisestage kuupäev “10-Apr-2019”.

Kood:

 Alanädalapäev_näide1 () Dim k As String k = Nädalapäev ("10-Apr-2019" Lõpp-alam 

4. samm: kuvage muutuja väärtus MsgBoxis

Vaikimisi võtab nädala esimene päev esmaspäeva, seega ignoreerige seda osa. Sulgege sulg. Järgmisel real näidake muutuja “k” väärtust VBA teatekastis.

Kood:

 Alanädalapäev_näide1 () Dim k As String k = Nädalapäev ("10. aprill-2019") MsgBox k Lõpp alam 

Ok, oleme valmis.

Koodi käivitamisel saame tulemuseks "4", sest alates pühapäevast langeb etteantud kuupäev (10. aprill-2019) nädala 4. päevale.

Märkus: minu süsteemi nädala alguspäev on pühapäev.

Samamoodi muutub nädala alguspäeva muutes ka see. Allpool on näide samast.

Kood:

k = Nädalapäev ("10-Apr-2019", vbMonday) 'See tagastab 3 k = Nädalapäev ("10-Apr-2019", vbTuesday)' See tagastab 2 k = Nädalapäev ("10-Apr-2019", vbWednesday) 'See tagastab 1 k = nädalapäev ("10-Apr-2019", vbThursday)' See tagastab 7 k = nädalapäev ("10-Apr-2019", vbFriday) "See tagastab 6 k = nädalapäev (" 10-Apr-2019 ", vbSaturday) 'See tagastab 5 k = nädalapäev (" 10-Apr-2019 ", vbSunday)" See tagastab 4 

Näide # 2 - saabuge, kas kuupäev on nädalavahetusel või mitte

Oletame, et teil on selline kuupäev nagu allpool ja soovite leida järgmise nädalavahetuse kuupäeva, siis saame tulemuste saamiseks kasutada funktsiooni WEEKDAY.

Tulemuse saavutamiseks peame kasutama WEEKDAY IF-tingimuste ja silmustega. Ma kirjutasin koodi, et saaksite loogika saamiseks rida-realt liikuda.

Kood:

 Alamnädalavahetuse_kuupäevad () Mõõtke k täisarvuna väärtusele k = 2 kuni 9, kui nädalapäev (lahtrid (k, 1). Väärtus, vbMonapäev) = 1, siis lahtrid (k, 2). Väärtus = lahtrid (k, 1) + 5 ElseIf-i nädalapäev (Lahtrid (k, 1). Väärtus, esmaspäev) = 2 Siis Lahtrid (k, 2). Väärtus = Lahtrid (k, 1) + 4 ElseIf Nädalapäev (Lahtrid (k, 1). Väärtus, vbManapäev) = 3 (k, 2). Väärtus = Lahtrid (k, 1) + 3 ElseIf Nädalapäev (Lahtrid (k, 1). Väärtus, vbMeile) = 4 Siis Lahtrid (k, 2). Väärtus = Lahtrid (k, 1) + 2 ElseIf Weekday (lahtrid (k, 1). Väärtus, vb esmaspäev) = 5 Siis lahtrid (k, 2). Väärtus = lahtrid (k, 1) + 1 muud lahtrid (k, 2). Väärtus = "See on tegelikult nädalavahetus Kuupäev "Lõpeta, kui järgmine k Lõpp alam 

See jõuab allpool toodud tulemusteni.

Vaadake lahtrid B6 ja B7, mille tulemuseks saime "See on tegelikult nädalavahetuse kuupäev", sest kuupäevad "04-mai-2019" ja "06-aprill-2019" on tegelikult nädalavahetuse kuupäevad, seega pole vaja nädalavahetuse kuupäeva näidata nädalavahetuse kuupäevadeks. Vaikimisi saame tulemuse sellisena.


$config[zx-auto] not found$config[zx-overlay] not found