Tanggal Format VBA

Tanggal Format VBA Excel

Untuk memformat tanggal di VBA kami menggunakan fungsi FORMAT bawaan itu sendiri, ini mengambil input sebagai format tanggal dan mengembalikan format yang diinginkan, argumen yang diperlukan untuk fungsi ini adalah ekspresi itu sendiri dan tipe format.

Pemformatan tanggal & waktu adalah hal sensitif di excel dan hal yang sama juga berlaku untuk VBA. Tanggal dan waktu default didasarkan pada tanggal sistem tempat kami bekerja, yang mungkin berbeda dari sistem ke sistem. Pada artikel ini, kami akan menunjukkan teknik berbeda untuk memformat tanggal dengan kode VBA.

Untuk mengubah format tanggal dengan pengkodean VBA, kita perlu mengetahui format tanggal apa dan dampaknya pada tanggal.

Tabel di bawah ini menunjukkan format tanggal yang berbeda dan kodenya.

Jadi, jika Anda mengingat grafik di atas yang memformat tanggal melalui pengkodean VBA bukanlah tugas yang sulit sama sekali.

Bagaimana cara mengubah format tanggal di VBA?

Di bawah ini adalah contoh format tanggal VBA excel.

Anda dapat mendownload Template Excel Tanggal Format VBA ini di sini - Template Excel Tanggal Format VBA

Contoh 1

Misalnya, kami memiliki tanggal yang sama di beberapa sel lembar kerja seperti yang ditunjukkan di bawah ini.

Sekarang kita akan menerapkan format tanggal yang berbeda untuk tanggal yang sama untuk melihat dampaknya pada kode format tanggal yang berbeda.

Pertama, salin juga data yang sama ke kolom berikutnya untuk melihat dampaknya.

Untuk tanggal pertama yaitu sel A1, kami akan menerapkan format "DD-MM-YYYY" .

Pada kode pertama, kita perlu memilih sel dengan menggunakan objek RANGE .

Kode:

 Sub Date_Format_Example1 () Range ("A1") End Sub 

Karena kita mengubah format tanggal sel kita perlu mengakses properti " Number Format " dari objek RANGE.

Kode:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat End Sub 

Setelah mengakses “ Format Angka ” kita perlu mengatur format angka dengan meletakkan tanda sama dengan dan menerapkan kode format dalam tanda kutip ganda.

Kode:

 Sub Date_Format_Example1 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'Ini akan mengubah tanggal menjadi "23-10-2019" End Sub 

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

Keluaran:

Contoh # 2

Demikian pula, saya telah menerapkan kode pemformatan yang berbeda untuk sel lain juga dan di bawah ini adalah kode VBA untuk Anda.

Kode:

Sub Date_Format_Example2 () Range ("A1"). NumberFormat = "dd-mm-yyy" 'Ini akan mengubah tanggal menjadi "23-10-2019" Range ("A2"). NumberFormat = "ddd-mm-yyy" 'Ini akan mengubah tanggal menjadi "Wed-10-2019" Range ("A3"). NumberFormat = "dddd-mm-yyy"' Ini akan mengubah tanggal menjadi "Wednesday-10-2019" Range ("A4") .NumberFormat = "dd-mmm-yyy" 'Ini akan mengubah tanggal menjadi "23-Okt-2019" Range ("A5"). NumberFormat = "dd-mmmm-yyy"' Ini akan mengubah tanggal menjadi "23- Oktober-2019 "Range (" A6 "). NumberFormat =" dd-mm-yy "'Ini akan mengubah tanggal menjadi" 23-10-19 "Range (" A7 "). NumberFormat =" ddd mmm yyyy "' Ini akan mengubah tanggal menjadi "Rabu Okt 2019 "Range (" A8 "). NumberFormat =" dddd mmmm yyyy "'Ini akan mengubah tanggal menjadi" Rabu Oktober 2019 "End Sub

Hasil dari kode ini adalah sebagai berikut.

Keluaran:

Ubah Format Tanggal 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 nilai untuk "Expression" dan menerapkan "Format" yang sesuai.

Lihat kode di bawah ini sebagai contoh.

Kode:

 Sub Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 Format MsgBox (MyVal, "DD-MM-YYYY") End Sub 

Dalam kode di atas, saya telah mendefinisikan variabel sebagai varian (yang dapat menyimpan nilai apa pun).

Kode:

 Redupkan MyVal Sebagai Varian 

Selanjutnya untuk variabel ini, saya telah menetapkan nilai 43586.

Kode:

MyVal = 43586

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

Kode:

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

Ok, mari kita jalankan kodenya dan lihat hasilnya di kotak pesan di VBA.

Keluaran:

Seperti yang Anda lihat di atas, hasilnya ditampilkan sebagai “ 01-05-2019 ”.

Sekarang Anda pasti bertanya-tanya kami telah memberikan nomor seri tetapi hasilnya menunjukkan tanggal. Ini karena Excel menyimpan tanggal sebagai nomor seri, sehingga nilai 43586 sama dengan tanggal “01-05-2019” dan jika Anda menambah nomor dengan 1 yaitu 43587, tanggal tersebut menjadi “02-05-2019”.

Kode:

 Sub Date_Format_Example3() Dim MyVal As Variant MyVal = 43586 MsgBox Format(MyVal, "DD-MM-YYY") End Sub 

Things to Remember

  • The default date of your system will be applied to your excel as well.
  • Number Format property can be used to change the date format in VBA.
  • Using the FORMAT function, we can change the date format.
  • Excel stores date as serial numbers and if you apply date format it will show accordingly.