Tanggal Format VBA - Bagaimana cara mengubah format tanggal dalam kode 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 jenis format.

Pemformatan tanggal & waktu adalah hal yang 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 ingat 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.

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

Saat kami mengeksekusi kode ini, ini 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-Oct-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 "Rab Okt 2019"Range ("A8"). NumberFormat = "dddd mmmm yyyy" 'Ini akan mengubah tanggal menjadi "Rabu Oktober 2019" Akhiri 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 sebagai 43586.

Kode:

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 Date_Format_Example3 () Dim MyVal As Variant MyVal = 43586 Format MsgBox (MyVal, "DD-MM-YYY") End Sub

Hal-hal untuk diingat

  • Tanggal default sistem Anda akan diterapkan ke excel Anda juga.
  • Properti Number Format dapat digunakan untuk mengubah format tanggal di VBA.
  • Dengan menggunakan fungsi FORMAT, kita dapat mengubah format tanggal.
  • Excel menyimpan tanggal sebagai nomor seri, dan jika Anda menerapkan format tanggal, itu akan ditampilkan sesuai.

Artikel yang menarik...