Hari Minggu VBA

Fungsi Excel Week VBA

Hari kerja di VBA adalah fungsi tarikh dan waktu yang digunakan untuk mengenal pasti hari kerja pada tarikh tertentu asalkan sebagai input, fungsi ini mengembalikan nilai integer dari julat 1 hingga 7, ada argumen pilihan yang disediakan untuk fungsi ini yang merupakan hari pertama dalam seminggu tetapi jika kita tidak menyediakan hari pertama dalam seminggu, maka fungsi tersebut menganggap hari Ahad sebagai hari pertama dalam seminggu secara lalai.

Bolehkah kita memberitahu nombor hari minggu dengan melihat tarikh tertentu? Ya, kita dapat memberitahu bilangan hari pada minggu itu bergantung pada hari permulaan dalam seminggu. Dalam fungsi lembaran kerja biasa, kami mempunyai fungsi yang disebut WEEKDAY in excel untuk memberitahu jumlah minggu untuk tarikh tertentu. Di VBA juga kita mempunyai fungsi yang sama untuk mencari perkara yang sama.

Apa yang dilakukan oleh Fungsi Hari Minggu?

Fungsi hari kerja mengembalikan nombor hari tarikh yang disediakan dalam seminggu. Contohnya, jika anda mempunyai tarikh 01 April hingga 07 April dan jika anda ingin mengetahui tarikh tarikh 05 April jika hari permulaan minggu adalah dari hari Isnin, ia adalah hari ke-5.

Untuk mendapatkannya, kita mempunyai fungsi yang sama "Weekday" di lembaran kerja dan juga di VBA. Berikut adalah sintaks fungsi.

Tarikh: Untuk tarikh mana kita berusaha mencari hari kerja. Ini mestilah tarikh yang tepat dengan format yang betul.

[Hari Pertama Minggu]: Untuk menentukan hari minggu dari Tarikh yang disediakan, kita perlu menyebutkan apa hari pertama dalam seminggu. Secara lalai, VBA menganggap "Isnin" sebagai hari permulaan dalam seminggu. Selain daripada ini, kami juga dapat menyediakan hari-hari di bawah.

Contoh

Anda boleh memuat turun Templat Excel Fungsi WeekDay VBA ini di sini - Templat Excel Fungsi WeekDay VBA

Contoh # 1

Untuk memulakan prosiding, izinkan saya memulakan dengan contoh ringkas terlebih dahulu. Sekarang kita akan berusaha mencari hari kerja untuk tarikh "10-April-2019".

Langkah 1: Tentukan pemboleh ubah sebagai String

Kod:

 Sub Hari Minggu_Contoh1 () Dim k Sebagai Subang Akhir Hujung 

Langkah 2: Berikan nilai kepada pemboleh ubah

Tetapkan nilai ke pemboleh ubah "k" dengan menerapkan fungsi WEEKDAY.

Kod:

 Sub Hari Minggu_Contoh1 () Dim k Sebagai Rentetan k = Hari Minggu (Sub Akhir 

Langkah 3: Masukkan Tarikh dalam Fungsi

Tarikh yang kami uji di sini adalah "10-Apr-2019", jadi lulus tarikhnya sebagai "10-Apr-2019".

Kod:

 Sub Hari Minggu_Contoh1 () Dim k Sebagai Rentetan k = Hari Minggu ("10-Apr-2019" Sub Akhir 

Langkah 4: Tunjukkan Nilai Pembolehubah di MsgBox

Secara lalai, ia memerlukan hari pertama dalam seminggu sebagai "Isnin", jadi abaikan bahagian ini. Tutup pendakap. Pada baris seterusnya tunjukkan nilai pemboleh ubah "k" di kotak mesej VBA.

Kod:

 Sub Hari Minggu_Contoh1 () Dim k Sebagai Rentetan k = Hari Minggu ("10-Apr-2019") MsgBox k Akhir Sub 

Ok, kita sudah selesai.

Sekiranya kita menjalankan kod, kita akan mendapat hasilnya sebagai "4" kerana mulai dari hari Ahad tarikh yang disediakan (10-Apr-2019) jatuh pada hari ke-4 dalam seminggu.

Catatan: Hari permulaan sistem saya dalam seminggu adalah "Ahad".

Begitu juga, jika anda mengubah hari permulaan dalam seminggu, ia tetap berbeza. Di bawah adalah garis contoh untuk yang sama.

Kod:

k = Hari Minggu ("10-Apr-2019", vbMonday) 'Ini mengembalikan 3 k = Hari minggu ("10-Apr-2019", vbTuesday)' Ini mengembalikan 2 k = Hari Minggu ("10-Apr-2019", vb Rabu) 'Ini mengembalikan 1 k = Hari Minggu ("10-Apr-2019", vbThursday)' Ini mengembalikan 7 k = Hari minggu ("10-Apr-2019", vbFriday) 'Ini mengembalikan 6 k = Hari Minggu ("10-Apr-2019 ", vbSaturday) 'Ini mengembalikan 5 k = Hari kerja (" 10-Apr-2019 ", vbSunday)' Ini mengembalikan 4 

Contoh # 2 - Tiba Sama ada Tarikh pada hujung minggu atau tidak

Andaikan anda mempunyai tarikh seperti di bawah dan anda ingin mencari tarikh hujung minggu seterusnya maka kita boleh menggunakan fungsi WEEKDAY untuk sampai pada hasilnya.

Kita perlu menggunakan WEEKDAY dengan keadaan JIKA dan gelung untuk mendapatkan hasilnya. Saya telah menulis kod untuk anda pergi baris demi baris untuk mendapatkan logik.

Kod:

 Sub Tarikh Akhir Harian (Sel (k, 1). Nilai, vb Isnin) = 2 Kemudian Sel (k, 2). Nilai = Sel (k, 1) + 4 ElseIf Weekday (Sel (k, 1). Nilai, vbMonday) = 3 Kemudian Sel (k, 2). Nilai = Sel (k, 1) + 3 ElseIf Weekday (Sel (k, 1). Nilai, vbMonday) = 4 Kemudian Sel (k, 2). Nilai = Sel (k, 1) + 2 ElseIf Weekday (Sel (k, 1). Nilai, vb Isnin) = 5 Kemudian Sel (k, 2). Nilai = Sel (k, 1) + 1 Sel Lain (k, 2). Nilai = "Ini sebenarnya hujung minggu Tarikh "Tamat Jika Selanjutnya k Akhir Sub 

Ini akan sampai pada keputusan di bawah.

Lihat sel B6 & B7 kami mendapat hasilnya sebagai "Ini sebenarnya tarikh hujung minggu" kerana tarikh "04-Mei-2019" dan "06-Apr-2019" sebenarnya adalah tarikh hujung minggu, jadi tidak perlu menunjukkan tarikh hujung minggu untuk tarikh hujung minggu. Secara lalai, kami mendapat hasilnya.