Fungsi DateSerial VBA - Bagaimana menggunakan Fungsi DateSerial? (Contoh)

Fungsi Excel VBA DateSerial

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, ia 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" tahun berikutnya. Sekiranya jumlahnya 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 memberikan hari sebagai 31 + 1, maka ia akan mewakili hari pertama bulan September.

Bagaimana cara menggunakan Fungsi DATESERIAL dalam VBA?

Contoh # 1

Untuk menggunakan fungsi DATESERIAL, mulailah menulis kod makro.

Langkah 1: Mulakan Sub Prosedur

Pertama, buat subprosedur VBA, seperti gambar 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. Contohnya, 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 Subang Akhir

Instead of supplying year, month, and day directly to the DATESERIAL function, we have declared variables and assigned values to them. Then later, we have supplied variables to the DATESERIAL function.

This is how we can make use of variables in VBA to store values.

Example #3

Now we will experiment with the year. I will assign the year value as 1 and see the result.

Single & Double-digit numbers in YEAR represents a year from 1930 to 2029. So 01 means 2001, 02 means 2002, and so on.

Now let’s change the month number to 0 and see the result.

Look at the code here, Year is 2019, and the month is 0. But look at the result it says 05-Dec-2019, whereas a supplied year is 2019 it says 2018 i.e., the previous year.

Ini kerana sejak kita membekalkan bulan sebagai fungsi 0 DATEERIAL memerlukan bulan hingga bulan terakhir tahun sebelumnya dan mengubah tahun juga sesuai.

Seperti ini, cubalah nombor yang berbeza untuk melihat kesan fungsi.

Perkara yang Perlu Diingat

  • Anda perlu mengetahui nombor apa yang mewakili tahun, bulan, dan jagaan harian mana. Baca penjelasan Sintaks dengan teliti untuk memahami.
  • Hasilnya akan berdasarkan format tarikh sistem anda. Sekiranya anda mahukan hasil yang diubah, maka anda perlu menerapkan fungsi FORMAT sebutkan format tarikh mengikut keselesaan anda.

Artikel menarik...