Tarikh SBA VBA

Fungsi DateSerial Excel VBA

Fungsi DateSerial dalam VBA mengembalikan tarikh dari nilai yang diberikan oleh pengguna. Kita perlu membekalkan berapa tahun, hari apa, dan bulan apa. Hasilnya akan berdasarkan format tarikh sistem anda.

Berikut adalah sintaks fungsi DATESERIAL .

# 1 - Tahun: kita perlu memasukkan nombor bulat seperti apa tahunnya? Semasa membekalkan nombor bulat, kita perlu ingat perkara di bawah.

  • Kami dapat membekalkan nombor dari 0 hingga 9999.
  • Nombor satu & Dua digit dari 0 hingga 99 akan diperlakukan dari tahun 1930 hingga 2029.
  • Nombor bilangan bulat negatif akan dikurangkan dari tahun 2000. Contohnya, jika anda membekalkan -1 maka hasilnya akan menjadi 1999 kerana tahun 2000 - 1 = 1999.

# 2 - Bulan: kita perlu memasukkan nombor bulat seperti bulan apa? Semasa memasukkan nombor ini, kita perlu ingat perkara-perkara di bawah ini.

  • Kami boleh membekalkan nombor dari 1 hingga 12 sahaja.
  • Sekiranya nilai integer yang dibekalkan adalah 0 maka ini akan mewakili bulan "Disember" tahun sebelumnya.
  • Sekiranya nilai integer yang dibekalkan adalah -1 maka ini akan mewakili bulan "November" tahun sebelumnya. Seperti ini apabila nilai negatif meningkat akan terus mewakili bulan tahun ke belakang.
  • Sekiranya nombor yang dibekalkan lebih dari 12 iaitu jika bilangannya adalah 13 maka ini akan mewakili bulan "Januari" pada tahun berikutnya, jika bilangannya adalah 14 maka ia akan dianggap sebagai bulan "Februari" pada tahun berikutnya.

# 3 - Hari: kita perlu memasukkan nombor bulat seperti hari apa? Semasa memasukkan nombor ini, kita perlu ingat perkara-perkara di bawah ini.

  • Kita boleh memasukkan nombor bulat dari 1 hingga 31 untuk hari bulan semasa.
  • Sekiranya nombor itu 0, ia akan mewakili hari terakhir bulan sebelumnya.
  • Sekiranya nombor itu -1 ia akan mewakili hari terakhir kedua bulan sebelumnya.
  • Sekiranya anda membekalkan hari terakhir bulan ini +1, maka ini akan mewakili hari pertama bulan berikutnya. Contohnya, jika hari terakhir bulan Ogos adalah 31 dan jika anda membekalkan hari sebagai 31 + 1, maka ia akan mewakili hari pertama bulan September.

Bagaimana cara menggunakan Fungsi DATESERIAL dalam VBA?

Anda boleh memuat turun Template VBA DateSerial Excel ini di sini - Templat VBA DateSerial Excel

Contoh # 1

Untuk menggunakan fungsi DATESERIAL mulakan menulis kod makro.

Langkah 1: Mulakan Sub Prosedur

Pertama, buat subprosedur VBA seperti yang ditunjukkan di bawah.

Langkah 2: Menyatakan Pembolehubah

Sekarang nyatakan pemboleh ubah sebagai DATE.

Langkah 3: Tetapkan Fungsi DateSerial kepada pemboleh ubah tersebut.

Sekarang untuk pemboleh ubah ini tetapkan fungsi DATESERIAL.

Langkah 4: Sekarang masukkan nilai tahun, bulan dan hari dalam fungsi DateSerial

Untuk bekalan TAHUN 2019, untuk bekalan BULAN 08, dan untuk bekalan HARI 05.

Langkah 5: Tunjukkan Hasil di Kotak Mesej

Sekarang tunjukkan hasil pemboleh ubah "Tarikh saya" di kotak mesej.

Kod:

 Opsyen Eksplisit Sub TarikhSerial_Contoh1 () Dim Mydate Sebagai Tarikh Mydate = DateSerial (2019, 8, 5) MsgBox Mydate End Sub 

Langkah 6: Jalankan kod

Sekarang jalankan kod ini untuk melihat tarikh di bawah.

Hasilnya mengatakan "8/5/2019". Dalam format tarikh sistem saya adalah dalam bentuk "MM-DD-YYYY", jadi itulah sebabnya hasilnya juga dalam format yang sama.

Kita juga boleh mengubah format tarikh dengan menggunakan fungsi FORMAT di VBA. Terapkan fungsi FORMAT seperti di bawah.

Kod:

 Opsyen Eksplisit Sub DateSerial_Example1 () Dim Mydate As Date Mydate = DateSerial (2019, 8, 5) Format MsgBox (Mydate, "DD-MMM-YYYY") Sub Akhir 

Ini akan menerapkan format dalam "DD-MMM-YYYY" dan hasilnya adalah seperti berikut.

Contoh # 2

Kita juga boleh menyatakan pemboleh ubah dan memberikan nilai kepada pemboleh ubah tersebut. Sebagai contoh lihat kod di bawah.

Kod:

 Sub DateSerial_Example2 () Dim Mydate Sebagai Date Dim MyYear As Integer Dim MyMonth As Integer Dim MyDay As Integer MyYear = 2019 MyMonth = 8 MyDay = 5 Mydate = DateSerial (MyYear, MyMonth, MyDay) Format MsgBox (Mydate, "DD-MMM-YY-YM-YM-YY Sub) Akhir 

Daripada membekalkan tahun, bulan, dan hari secara langsung ke fungsi DATESERIAL, kami telah menyatakan pemboleh ubah dan memberikan nilai kepada mereka. Kemudian kemudian kami telah membekalkan pemboleh ubah untuk fungsi DATESERIAL.

Ini adalah bagaimana kita dapat menggunakan pemboleh ubah dalam VBA untuk menyimpan nilai.

Contoh # 3

Sekarang kita akan bereksperimen dengan tahun ini. Saya akan menetapkan nilai tahun sebagai 1 dan melihat hasilnya.

Nombor satu & dua digit dalam TAHUN mewakili tahun dari 1930 hingga 2029. Jadi 01 bermaksud 2001, 02 bermaksud 2002 dan seterusnya.

Sekarang mari kita menukar nombor bulan menjadi 0 dan melihat hasilnya.

Lihat kodnya di sini, Tahun adalah 2019, dan bulan adalah 0. Tetapi lihat hasilnya seperti yang dinyatakan pada 05-Dis-2019, sedangkan tahun yang dibekalkan adalah tahun 2019 seperti tahun 2018 iaitu tahun sebelumnya.

This is because since we have supplied the month as 0 DATESERIAL function takes the month to last month of the previous year and change the year also accordingly.

Like this try different numbers to see the impact of the function.

Things to Remember

  • You need to know what number represents which year, month, and daycare. Read Syntax explanation carefully to understand.
  • The result will be based on the date format of your system, if you want modified result then you need to apply FORMAT function mention the date format as per your convenience.