String VBA hingga Saat Ini

String VBA Excel hingga Saat Ini

Di Vba ada metode di mana kita dapat mengonversi string yang diberikan menjadi tanggal, dan metode itu dikenal sebagai fungsi CDATE di vba, ini adalah fungsi bawaan di VBA dan bagian yang diperlukan untuk fungsi ini adalah pertama-tama mengubah string menjadi angka dan kemudian kami mengubah angka yang diberikan menjadi tanggal. Format hasil hanya bergantung pada format tanggal sistem.

Salah satu masalah umum yang kita semua hadapi dengan excel adalah "Tanggal & Waktu" dan sering kali disimpan sebagai nilai teks dan tidak diperhatikan pada awalnya. Tetapi ketika mereka diharuskan menggunakan waktu itu, kita akan mengetahui bahwa nilai-nilai itu disimpan sebagai teks dan tidak tahu bagaimana menanganinya sama sekali. "Tanggal & Waktu" adalah dua hal yang digabungkan dalam satu elemen tetapi setelah nilai-nilai itu disimpan sebagai nilai teks, sulit untuk bekerja dengannya.

Bagaimana Mengonversi Nilai String ke Tanggal?

Anda dapat mengunduh Template Excel String to Date ini di sini - Template Excel String to Date VBA

Contoh 1

Setelah variabel VBA dideklarasikan dan ditetapkan sebagai String, apa pun yang ditetapkan ke variabel tersebut akan diperlakukan sebagai string saja. Untuk contoh lihat kode di bawah ini.

Kode:

 Sub String_To_Date () Dim k Sebagai String k = "10-21" MsgBox k End Sub 

Dalam variabel kode di atas "k" didefinisikan sebagai tipe data "String" dan untuk variabel ini kami telah menetapkan nilai sebagai "10-21".

Ok, mari kita jalankan kodenya dan lihat apa yang kita dapatkan di kotak pesan di VBA.

Kami mendapat nilai hanya 10-21, tetapi biasanya, nilai-nilai ini adalah tanggal, bukan nilai string. Jadi meskipun tipe data yang ditetapkan adalah “String”, kita masih dapat mengonversi hingga saat ini dengan menggunakan fungsi konversi tipe data CDATE VBA.

Kode:

 Sub String_To_Date () Dim k Sebagai String k = "10-21" MsgBox CDate (k) End Sub 

Di atas, sebelum kita menunjukkan hasil dari variabel “k” di kotak pesan kita telah menetapkan fungsi CDATE. Sebuah penyesuaian kecil dilakukan, mari kita lihat seberapa besar dampaknya.

Sekarang kita akan melihat hasilnya sebagai "Tanggal" bukan lagi sebagai nilai "String".

Contoh # 2

Sekarang, lihat kode di bawah ini sebagai contoh.

Kode:

 Sub String_To_Date () Dim k Sebagai String k = 43599 MsgBox k End Sub 

Pada titik waktu ini kode di atas akan menunjukkan hasil sebagai "43599" seperti yang kita tetapkan di atas.

Tapi begitu kita menggunakan fungsi CDATE, itu akan diubah menjadi nilai tanggal.

Kode:

 Sub String_To_Date () Dim k Sebagai String k = 43599 MsgBox CDate (k) End Sub 

Hasil setelah menerapkan fungsi CDATE adalah sebagai berikut.

Karena excel menyimpan tanggal sebagai nomor seri, nomor seri 43599 kami yang ditetapkan sama dengan tanggal 05/14/2019 ketika format tanggal diterapkan.

Kami juga dapat menerapkan format tanggal sebagai "DD-MMM-YYYY" untuk membaca tanggal secara akurat.

Kode:

 Sub String_To_Date1 () Dim k Sebagai String Dim DateValue As Date k = 43599 DateValue = CDate (k) Format MsgBox (DateValue, "DD-MMM-YYYY") End Sub 

Di atas, saya telah mendeklarasikan satu variabel tambahan untuk menyimpan hasilnya. Untuk variabel ini, saya telah menerapkan fungsi konversi CDATE.

Selanjutnya, saya telah menggunakan fungsi FORMAT untuk menerapkan format format "DD-MMM-YYYY" dan hasilnya akan seperti gambar di bawah ini.

Dengan ini, kita dapat dengan jelas membaca bagian hari dan bulan. Itu juga tergantung pada format tanggal sistem Anda di excel, karena format tanggal sistem saya adalah "MM-DD-YYYY" itu menunjukkan seperti itu tetapi itu seharusnya tidak menjadi penghalang untuk memformat.

Contoh # 3

Sekarang kita akan melihat sebenarnya bagaimana tanggal diformat sebagai nilai teks dalam sel lembar kerja. Di bawah ini adalah gambar tanggal yang disimpan sebagai teks di lembar kerja.

Di kolom A dari A2 hingga A12 kita memiliki nilai tampilan tanggal tetapi ketika kita melihat pada tab format itu menunjukkan format "Teks". Sekarang kita perlu mengubah nilai-nilai ini dari teks menjadi tanggal.

Di bawah ini adalah kode yang telah saya tulis untuk mengubah nilai tanggal yang diformat teks menjadi tanggal sebenarnya.

Kode:

 Sub String_To_Date2 () Dim k As Long 'Data ada di lebih dari satu sel, jadi perlu loop melalui setiap sel' Open For Loop For k = 2 To 12 'Data dimulai dari baris ke-2 dan berakhir di baris ke-12, jadi 2 hingga 12 Sel (k, 2). Nilai = CDate (Sel (k, 1). Nilai) Berikutnya k Akhir Sub 

Jika Anda menjalankan kode itu akan memberi kami hasil di bawah ini.

Hal-hal untuk diingat

  • CDATE adalah fungsi konversi tipe data tetapi dapat digunakan untuk mengubah tanggal penyimpanan string VBA ke nilai tanggal aktual.
  • Hasil format fungsi CDATE hanya bergantung pada format tanggal sistem.
  • Tanggal disimpan sebagai nomor seri di excel, jadi diperlukan pemformatan untuk menampilkannya sebagai tanggal.