Fungsi Val VBA

Fungsi Val VBA Excel

Fungsi val di vba berada di bawah fungsi string, itu juga merupakan fungsi inbuilt di VBA yang digunakan untuk mendapatkan nilai numerik dari variabel data, misalkan jika variabel A memiliki nilai A10 maka fungsi val akan memberi kita 10 sebagai output, itu mengambil string sebagai argumen dan mengembalikan angka yang ada dalam string.

VAL adalah singkatan dari VALUE dalam terminologi VBA. Fungsi ini mengubah string yang berisi angka menjadi angka sebenarnya. Misalnya, jika Anda memberikan string teks "1234 Global" itu hanya akan mengembalikan bagian numerik yaitu 1234.

Seringkali ketika kita mendownload atau mendapatkan data dari nomor web, biasanya disimpan sebagai nilai teks dalam sebuah spreadsheet. Konversi teks menjadi angka adalah tugas tersulit jika Anda tidak mengetahui fungsi yang benar di excel. Sebagai fungsi lembar kerja biasa, kami memiliki fungsi yang disebut NILAI yang akan mengubah semua string yang mewakili angka menjadi angka yang tepat dengan fungsi sederhana di lembar kerja. Pada artikel ini, kami akan menunjukkan bagaimana hal ini dapat dicapai di VBA menggunakan fungsi VAL.

Sintaksis

Ini hanya memiliki satu argumen yaitu String.

  • String: Ini hanyalah nilai string yang kami coba dapatkan bagian numeriknya.

Jadi, fungsi VAL mengubah string yang disediakan menjadi nilai numerik.

Catatan: Fungsi VAL selalu mengabaikan karakter spasi dan terus membaca angka setelah karakter spasi atau karakter.

Misalnya, jika string yang diberikan adalah "145 45 666 3" itu akan mengabaikan karakter spasi dan mengembalikan hasilnya sebagai "145456663".

Contoh Fungsi VAL di Excel VBA

Anda dapat mendownload Template Excel Fungsi Val VBA ini di sini - Template Excel Fungsi Val VBA

Contoh 1

Mari kita coba contoh pertama dengan angka sederhana yaitu "14 56 47"

Kode di bawah ini untuk Anda.

Kode:

 Sub Val_Example1 () Dim k As Varian k = Val ("14 56 47") 'Konversikan di atas sebagai 145647 MsgBox k End Sub 

Ketika Anda menjalankan kode VBA menggunakan tombol F5 atau secara manual, itu akan mengembalikan hasil sebagai "145647" dengan mengabaikan semua karakter spasi seperti yang ditunjukkan pada gambar di bawah ini.

Contoh # 2

Dalam contoh ini, kita akan melihat hasil dari string “+456”.

Kode:

 Sub Val_Example2 () Dim k As Varian k = Val ("+ 456") 'Konversikan di atas sebagai 456 MsgBox k End Sub 

Anda dapat menjalankan kode ini secara manual atau melalui tombol F5 untuk mengembalikan nilai sebagai 456 dengan mengabaikan +456.

Contoh # 3

Sekarang coba angka yang sama dengan tanda negatif.

Kode:

 Sub Val_Example3 () Dim k As Varian k = Val ("- 456") 'Konversikan di atas sebagai -456 MsgBox k End Sub 

Kode ini akan mengembalikan nilai sebagai -456 hanya karena nomor dengan tanda operator harus ditunjukkan.

Contoh # 4

Sekarang mari coba string ini "100 Kg".

Kode:

 Sub Val_Example4 () Dim k As Variant k = Val ("100 KG") 'Mengabaikan KG dan hanya mengembalikan 100 MsgBox k End Sub 

Jika Anda menjalankan kode ini secara manual atau menggunakan tombol F5 maka kode di atas mengabaikan "KG" dan hanya mengembalikan "100" di kotak pesan VBA.

Contoh # 5

Sekarang coba string tanggal yaitu "14-05-2018".

Kode:

Sub Val_Example5 () Dim k As Variant k = Val ("14-05-2019") 'Menampilkan 14 sebagai hasil. MsgBox k End Sub

Kode di atas mengembalikan 14 sebagai hasil karena fungsi VAL hanya dapat mengambil nilai numerik sampai menemukan selain karakter numerik.

Contoh # 6

Sekarang coba string "7459Good456".

Kode:

Sub Val_Example6 () Dim k As Variant k = Val ("7459 Good 456") 'Mengembalikan 7459 sebagai hasil. MsgBox k End Sub

Ini akan mengekstrak angka-angka hingga menemukan karakter non-numerik yaitu hasilnya adalah 7459. Meskipun ada nilai numerik setelah nilai non-numerik “Baik”, angka setelah itu sepenuhnya diabaikan.

Contoh # 7

Sekarang coba nilai string "H 12456".

Kode:

Sub Val_Example7 () Dim k As Varian k = Val ("H 12456") 'Mengembalikan 0 sebagai hasil. MsgBox k End Sub

Jalankan kode di atas menggunakan tombol pintas F5 atau secara manual kemudian mengembalikan hasilnya sebagai nol. Karena karakter pertama dari string yang kami berikan adalah karakter non-numerik jadi, hasilnya nol.

Contoh # 8

Sekarang coba string ini "24545. 2 ".

Kode:

Sub Val_Example8 () Dim k As Variant k = Val ("24545. 2") 'Mengembalikan 24545,2 sebagai hasil. MsgBox k End Sub

Kode mengembalikan hasil sebagai 24545.2 karena fungsi VBA VAL menganggap karakter titik (.) Sebagai karakter desimal dan mengembalikan hasil yang sesuai.