VBA darba diena | Soli pa solim darba dienu funkcija VBA

Excel VBA nedēļas dienas funkcija

Nedēļas diena VBA ir datuma un laika funkcija, ko izmanto, lai identificētu noteiktā datuma nedēļas dienu, ja tā tiek ievadīta, šī funkcija atgriež veselu skaitļu vērtību no 1 līdz 7, šai funkcijai ir norādīts izvēles arguments, kas ir nedēļas pirmā diena, bet, ja mēs nenorādām nedēļas pirmo dienu, funkcija pēc noklusējuma pieņem svētdienu kā pirmo nedēļas dienu.

Vai mēs varam pateikt nedēļas dienas numuru, aplūkojot konkrētu datumu? Jā, mēs varam pateikt dienas numuru tajā nedēļā atkarībā no nedēļas sākuma dienas. Parastajās darblapu funkcijās mums ir funkcija, ko Excel sauc WEEKDAY, lai norādītu nedēļas numuru konkrētam datumam. Arī VBA mums ir viena un tā pati funkcija, lai atrastu to pašu.

Ko dara nedēļas dienas funkcija?

Funkcija Nedēļas diena atgriež norādīto datuma dienas numuru nedēļā. Piemēram, ja jums ir datumi no 1. aprīļa līdz 7. aprīlim un ja vēlaties uzzināt datumu par 5. aprīli, ja nedēļas sākuma diena ir no pirmdienas, tā ir 5. diena.

Lai to atrastu, mums ir tāda pati funkcija “Nedēļas diena” darblapā, kā arī VBA. Zemāk ir funkcijas sintakse.

Datums: kurā datumā mēs cenšamies atrast nedēļas dienu. Tam jābūt pareizam datumam ar pareizu formātu.

[Nedēļas pirmā diena]: Lai noteiktu norādītā datuma nedēļas dienu, mums jāpiemin, kas ir nedēļas pirmā diena. Pēc noklusējuma VBA “Pirmdienu” uzskata par nedēļas sākuma dienu. Bez tam mēs varam piegādāt arī tālāk norādītās dienas.

Piemēri

Šo VBA WeekDay Function Excel veidni varat lejupielādēt šeit - VBA WeekDay Function Excel Template

1. piemērs

Lai sāktu procesu, ļaujiet man vispirms sākt ar vienkāršu piemēru. Tagad mēs centīsimies atrast nedēļas dienu datumam “10.-aprīlis-2019”.

1. darbība: definējiet mainīgo kā virkni

Kods:

 Apakšnedēļas diena_piemērs1 () Dim k kā virknes beigu apakšgrupa 

2. darbība: piešķiriet mainīgajam vērtību

Piešķiriet vērtību mainīgajam “k”, izmantojot WEEKDAY funkciju.

Kods:

 Apakšnedēļas diena_piemērs1 () Dim k As virkne k = Nedēļas diena (beigu apakšgrupa 

3. darbība. Funkcijā ievadiet datumu

Datums, kuru mēs šeit pārbaudām, ir “10-Apr-2019”, tāpēc norādiet datumu “10-Apr-2019”.

Kods:

 Apakšnedēļas diena_piemērs1 () Dim k kā virkne k = Nedēļas diena ("2019. gada 10. aprīlis" Beigas 

4. darbība. Parādiet mainīgā vērtību MsgBox

Pēc noklusējuma nedēļas pirmā diena tiek uzskatīta par “pirmdienu”, tāpēc ignorējiet šo daļu. Aizveriet kronšteinu. Nākamajā rindā VBA ziņojumu lodziņā parādiet mainīgā “k” vērtību.

Kods:

 Sub Weekday_Example1 () Dim k As String k = Nedēļas diena ("10-Apr-2019") MsgBox k End Sub 

Labi, mēs esam galā.

Ja palaidīsim kodu, rezultāts tiks iegūts kā “4”, jo no svētdienas norādītais datums (2019. gada 10. aprīlis) iekrīt nedēļas 4. dienā.

Piezīme: Manas sistēmas nedēļas sākuma diena ir “svētdiena”.

Līdzīgi, ja maināt nedēļas sākuma dienu, tā mainās. Zemāk ir piemērs tam pašam.

Kods:

k = nedēļas diena ("10-Apr-2019", vbMonday) 'Tas atgriež 3 k = Weekday ("10-Apr-2019", vbTuesday)' Tas atgriež 2 k = Weekday ("10-Apr-2019", vbWednesday) 'Tas atgriež 1 k = nedēļas diena ("10-Apr-2019", vbThursday). Tas atgriež 7 k = Weekday ("10-Apr-2019", vbFriday). Tas atgriež 6 k = Weekday ("10-Apr-2019 ", vbSaturday) 'Tas atgriež 5 k = Weekday (" 10-Apr-2019 ", vbSunday)' Tas atgriež 4 

2. piemērs - ierašanās neatkarīgi no tā, vai datums ir nedēļas nogale vai nē

Pieņemsim, ka jums ir šāds datums, kā norādīts zemāk, un vēlaties atrast nākamo nedēļas nogales datumu, tad mēs varam izmantot WEEKDAY funkciju, lai sasniegtu rezultātus.

Lai sasniegtu rezultātu, mums jāizmanto WEEKDAY ar nosacījumu IF un cikliem. Esmu uzrakstījis kodu, lai jūs varētu iet pa rindai, lai iegūtu loģiku.

Kods:

 Sub Weekend_Dates () Dim k kā skaitlis k = 2 līdz 9, ja nedēļas diena (šūnas (k, 1). Vērtība, vbMonday) = 1, tad šūnas (k, 2). Vērtība = Cells (k, 1) + 5 ElseIf nedēļas diena (Šūnas (k, 1). Vērtība, vbMonday) = 2 Tad šūnas (k, 2). Vērtība = Šūnas (k, 1) + 4 ElseIf nedēļas diena (Šūnas (k, 1). Vērtība, vbPirmdiena) = 3 Tad šūnas (k, 2). Vērtība = Šūnas (k, 1) + 3 ElseIf nedēļas diena (šūnas (k, 1). Vērtība, vbPirmdiena) = 4 Tad šūnas (k, 2). Vērtība = Šūnas (k, 1) + 2 ElseIf nedēļas diena (šūnas (k, 1). Vērtība, vbMonday) = 5 Tad šūnas (k, 2). Vērtība = Cells (k, 1) + 1 citas šūnas (k, 2). Vērtība = "Šī faktiski ir nedēļas nogale Datums "Beigt Ja Nākamais k Beigas Apakš 

Tas sasniegs zemāk redzamos rezultātus.

Apskatiet šūnas B6 un B7, kā rezultātā mēs saņēmām rezultātu “Šis ir faktiski nedēļas nogales datums”, jo datumi “2019. gada 4. maijs” un “2019. gada 6. aprīlis” faktiski ir nedēļas nogales datumi, tāpēc nav nepieciešams rādīt nedēļas nogales datumu. nedēļas nogales datumiem. Pēc noklusējuma mēs iegūstam rezultātu kā šo.


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