Tarikh Format VBA - Bagaimana Mengubah Format Tarikh dalam Kod VBA?

Tarikh Format VBA Excel

Untuk memformat tarikh di VBA, kami menggunakan fungsi FORMAT yang sudah ada, ia memerlukan input sebagai format tarikh dan mengembalikan format yang diinginkan, argumen yang diperlukan untuk fungsi ini adalah ungkapan itu sendiri dan jenis format.

Pemformatan tarikh & masa adalah perkara sensitif dalam excel, dan perkara yang sama berlaku untuk VBA juga. Tarikh dan waktu lalai adalah berdasarkan tarikh sistem di mana kita bekerja, yang mungkin berbeza dari sistem ke sistem. Dalam artikel ini, kami akan menunjukkan kepada anda teknik yang berbeza untuk memformat tarikh dengan kod VBA.

Untuk menukar format tarikh dengan pengekodan VBA, kita perlu mengetahui apakah format tarikh dan kesannya pada tarikh tersebut.

Jadual di bawah menunjukkan format tarikh dan kodnya yang berbeza.

Oleh itu, jika anda ingat bahawa carta di atas memformat tarikh melalui pengekodan VBA bukanlah tugas yang sukar sama sekali.

Bagaimana Mengubah Format Tarikh di VBA?

Berikut adalah contoh format tarikh VBA excel.

Contoh # 1

Sebagai contoh, kita mempunyai tarikh yang sama dalam beberapa sel lembaran kerja, seperti yang ditunjukkan di bawah.

Sekarang kita akan menggunakan format tarikh yang berbeza untuk tarikh yang sama untuk melihat kesannya pada kod format tarikh yang berbeza.

Pertama, salin data yang sama ke lajur seterusnya juga untuk melihat kesannya.

Untuk tarikh pertama iaitu, sel A1 kami akan menggunakan format "DD-MM-YYYY" .

Dalam kod terlebih dahulu, kita perlu memilih sel dengan menggunakan objek RANGE .

Kod:

Sub Tarikh_Format_Contoh1 () Julat ("A1") Sub Akhir

Oleh kerana kita mengubah format tarikh sel, kita perlu mengakses sifat " Format Nombor " objek RANGE.

Kod:

Sub Tarikh_Format_Contoh1 () Julat ("A1"). SubFormat Akhir Sub

Setelah mengakses " Angka Format " , kita perlu menetapkan format angka dengan meletakkan tanda sama dan menerapkan kod format dalam tanda kutip dua kali.

Kod:

Sub Date_Format_Contoh1 () Julat ("A1"). NumberFormat = "dd-mm-yyy" 'Ini akan menyambungkan tarikh ke "23-10-2019" Sub Akhir

Ketika kita menjalankan kod ini, kode tersebut akan menerapkan format angka ke sel A1 sebagai " DD-MM-YYY."

Pengeluaran:

Contoh # 2

Begitu juga, saya telah menggunakan kod pemformatan yang berbeza untuk sel lain, dan di bawah ini adalah kod VBA untuk anda.

Kod:

Sub Date_Format_Contoh2 () Julat ("A1"). NumberFormat = "dd-mm-yyy" 'Ini akan mengubah tarikh menjadi "Julat 23-10-2019" ("A2"). NumberFormat = "ddd-mm-yyy" 'Ini akan mengubah tarikh menjadi "Jul-10-2019" Julat ("A3"). NumberFormat = "dddd-mm-yyy" "Ini akan mengubah tarikh menjadi" Julat-10-2019 "Julat (" A4 ") .NumberFormat = "dd-mmm-yyy" 'Ini akan mengubah tarikh menjadi "Julat 23-Okt-2019" ("A5"). NumberFormat = "dd-mmmm-yyy"' Ini akan mengubah tarikh menjadi "23- Oktober-2019 "Range (" A6 "). NumberFormat =" dd-mm-yy "'Ini akan mengubah tarikh menjadi" 23-10-19 "Julat (" A7 "). NumberFormat =" ddd mmm yyyy "' Ini akan menukar tarikh menjadi "Rabu Okt 2019"Julat ("A8"). NumberFormat = "dddd mmmm yyyy" 'Ini akan mengubah tarikh menjadi "Rabu Oktober 2019" Akhir Sub

Hasil kod ini adalah seperti berikut.

Pengeluaran:

Tukar Format Tarikh dengan Menggunakan Fungsi FORMAT

Di VBA, kami memiliki fungsi yang disebut FORMAT, yang dapat digunakan untuk menerapkan format yang diinginkan ke sel.

Kita hanya perlu menentukan berapa nilainya untuk "Ekspresi" dan menerapkan "Format" sesuai.

Lihat kod di bawah untuk contoh.

Kod:

Sub Date_Format_Contoh3 () Dim MyVal Sebagai Varian MyVal = 43586 Format MsgBox (MyVal, "DD-MM-YYYY") Sub Akhir

Dalam kod di atas, saya telah menentukan pemboleh ubah sebagai varian (yang boleh menyimpan sebarang nilai).

Kod:

Dim MyVal Sebagai Varian

Seterusnya untuk pemboleh ubah ini, saya telah memberikan nilai sebagai 43586.

Kod:

MyVal = 43586

Next, in the message box, I have shown the result of the variable, but before we show the result, we have used the “FORMAT” function to format the value of the variable “MyVal,” and the format is given. “DD-MM-YYYY.”

Code:

MsgBox Format(MyVal, "DD-MM-YYY")

Ok, let’s run the code and see the result in the message box in VBA.

Output:

As you can see above, the result shows as “01-05-2019”.

Now you must be wondering we have supplied the serial number but the result showing as the date. This is because Excel stores the date as serial numbers, so the value 43586 is equal to the date “01-05-2019,” and if you increase the number by 1 i.e., 43587, the date will be “02-05-2019”.

Code:

Sub Tarikh_Format_Contoh3 () Dim MyVal Sebagai Varian MyVal = 43586 Format MsgBox (MyVal, "DD-MM-YYY") Sub Akhir

Perkara yang Perlu Diingat

  • Tarikh lalai sistem anda juga akan digunakan untuk excel anda.
  • Properti Format Nombor boleh digunakan untuk mengubah format tarikh di VBA.
  • Dengan menggunakan fungsi FORMAT, kita dapat mengubah format tarikh.
  • Excel menyimpan tarikh sebagai nombor siri, dan jika anda menggunakan format tarikh, ia akan ditunjukkan dengan sewajarnya.

Artikel menarik...