Teks VBA

Teks adalah fungsi lembar kerja di excel tetapi juga dapat digunakan di VBA saat menggunakan properti range dengannya, fungsi untuk fungsi ini mirip dengan fungsi lembar kerja dan dibutuhkan jumlah argumen yang sama yang merupakan nilai yang perlu dikonversi dan format angka tertentu.

Fungsi Teks Excel VBA

TEXT adalah fungsi yang tersedia dengan lembar kerja tetapi sayangnya, ini bukan fungsi bawaan di Excel VBA. Untuk mengakses fungsi ini, kita perlu menggunakan objek kelas fungsi lembar kerja di VBA. Fungsi teks di Excel mengonversi nilai ke format angka tertentu.

Salah satu masalah dengan fungsi ini adalah argumen. Setiap kali kami menggunakan kelas fungsi lembar kerja VBA, kami tidak bisa melihat sintaks yang jelas seperti di lembar kerja kami. Itu hanya mengatakan "Arg1" dan "Arg2".

  • Arg1 adalah nilai yang kita perlukan untuk menerapkan pemformatan.
  • Arg2 adalah pemformatan yang perlu kita terapkan dan kita perlu menentukan kode pemformatan.

Contoh Fungsi Teks VBA di Excel

Di bawah ini adalah contoh Fungsi Teks VBA Excel.

Anda dapat mengunduh Template Excel Teks VBA ini di sini - Template Excel Teks VBA

Contoh 1

Mari saya tunjukkan contoh sederhana TEXT di VBA Excel. Lihat kode di bawah ini di Visual Basic.

Kode:

 Sub Text_Example1 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 0,564 FormattingResult = WorksheetFunction.Text (FormattingValue, "hh: mm: ss AM / PM") MsgBox FormattingResult End Sub 

Pertama saya telah mendeklarasikan dua variabel sebagai string di VBA

 Dim FormattingValue As String Dim FormattingResult As String 

Untuk variabel pertama, saya telah menetapkan nomor pemformatan yang perlu kita format.

FormattingValue = 0,564

Sekarang untuk variabel lain, saya telah menetapkan fungsi TEXT.

FormattingResult = WorksheetFunction.Text (FormattingValue, "jj: mm: dd AM / PM")

Jika Anda mengamati saya telah menerapkan format waktu yaitu "jj: mm: dd AM / PM"

Kemudian akhirnya saya menerapkan kotak pesan VBA untuk menunjukkan hasilnya.

MsgBox FormattingResult

Ketika saya menjalankan fungsi kode TEXT akan menerapkan format waktu ke angka 0,564 dan menampilkan hasilnya seperti di bawah ini.

Jadi, kami punya waktu sebagai " 01:32:10 ".

Contoh # 2

Mirip dengan contoh format tanggal, kami telah membuat beberapa perubahan kecil dalam contoh ini. Di bawah ini adalah kodenya.

Kode:

 Sub Text_Example2 () Dim FormattingValue As String Dim FormattingResult As String FormattingValue = 43585 FormattingResult = WorksheetFunction.Text (FormattingValue, "DD-MMM-YYYY") MsgBox FormattingResult End Sub 

Dari kode sebelumnya, saya telah mengubah Nilai Pemformatan dari 0,565 menjadi 43585 dan mengubah gaya pemformatan sebagai “DD-MMM-YYYY”.

Ini akan menerapkan format pada nomor 43585 sebagai tanggal dan hasilnya adalah sebagai berikut.

Terapkan Pemformatan ke Sel

Kami telah melihat contoh sederhana, sekarang lihat bagaimana bekerja dengan sel di lembar kerja. Untuk contoh ini lihat data di bawah ini.

Untuk semua angka ini kita perlu menerapkan format waktu. Untuk kode di bawah ini akan menerapkan pemformatan.

Kode:

 Sub Text_Example3 () Dim k As Integer For k = 1 To 10 Cells (k, 2) .Value = WorksheetFunction.Text (Cells (k, 1) .Value, "hh: mm: ss AM / PM") Next k End Sub 

Kode ini akan melewati 10 sel dan menerapkan format seperti di bawah ini.

Seperti ini, dengan menggunakan fungsi VBA TEXT kita dapat menerapkan format angka ke sel.