Tarikh Format VBA

Tarikh Format Excel VBA

Untuk memformat tarikh dalam VBA, kami menggunakan fungsi FORMAT terbina sendiri, 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 mengubah 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.

Anda boleh memuat turun Templat Tarikh Excel Format VBA ini di sini - Templat Tarikh Format 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 " Format Nombor " 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, ia 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 Tarikh_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 "Julat (" 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 "Sub Akhir

Hasil kod ini adalah seperti berikut.

Pengeluaran:

Tukar Format Tarikh dengan Menggunakan Fungsi FORMAT

Di VBA kita 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 Tarikh_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

Selanjutnya di kotak pesan, saya telah menunjukkan hasil pemboleh ubah, tetapi sebelum kita menunjukkan hasilnya, kita telah menggunakan fungsi " FORMAT " untuk memformat nilai pemboleh ubah " MyVal " dan format yang diberikan adalah " DD-MM- YYYY ”.

Kod:

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

Ok, mari jalankan kod dan lihat hasilnya di kotak mesej di VBA.

Pengeluaran:

Seperti yang anda lihat di atas, hasilnya ditunjukkan sebagai " 01-05-2019 ".

Sekarang anda pasti tertanya-tanya bahawa kami telah memberikan nombor siri tetapi hasilnya menunjukkan tarikhnya. Ini kerana Excel menyimpan tarikh sebagai nombor siri, jadi nilai 43586 sama dengan tarikh "01-05-2019" dan jika anda menambah nombor dengan 1 iaitu 43587 tarikhnya adalah "02-05-2019".

Kod:

 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.