Fungsi Val VBA

Fungsi Val VBA Excel

Fungsi Val di vba berada di bawah fungsi rentetan, itu juga merupakan fungsi inbuilt di VBA yang digunakan untuk mendapatkan nilai angka dari pemboleh ubah data, anggaplah jika pemboleh ubah mempunyai nilai sebagai A10 maka fungsi val akan memberi kita 10 sebagai output, itu mengambil rentetan sebagai argumen dan mengembalikan nombor yang terdapat dalam rentetan.

VAL bermaksud VALUE dalam terminologi VBA. Fungsi ini menukar rentetan yang mengandungi nombor menjadi nombor sebenar. Sebagai contoh, jika anda memberikan rentetan teks "1234 Global", ia hanya akan mengembalikan bahagian berangka iaitu 1234.

Sering kali, semasa kita memuat turun atau mendapatkan data dari nombor web, biasanya disimpan sebagai nilai teks dalam hamparan. Penukaran teks ke nombor adalah tugas paling sukar jika anda tidak mengetahui fungsi yang betul dalam excel. Sebagai fungsi lembar kerja biasa, kami memiliki fungsi yang disebut NILAI yang akan mengubah semua rentetan yang mewakili angka menjadi angka tepat dengan fungsi sederhana di lembar kerja. Dalam artikel ini, kami akan menunjukkan bagaimana ini dapat dicapai dalam VBA menggunakan fungsi VAL.

Sintaks

Ia hanya mempunyai satu hujah iaitu String.

  • String: Ini hanyalah nilai rentetan yang kami cuba keluarkan dari bahagian berangka.

Jadi, fungsi VAL menukar rentetan yang dibekalkan ke nilai berangka.

Catatan: Fungsi VAL selalu mengabaikan watak spasi dan terus membaca nombor selepas watak atau watak spasi.

Contohnya, jika rentetan yang diberikan adalah "145 45 666 3", ia akan mengabaikan watak spasi dan mengembalikan hasilnya sebagai "145456663".

Contoh Fungsi VAL dalam Excel VBA

Anda boleh memuat turun Templat Excel VBA Val Function ini di sini - Templat Excel VBA Val Function

Contoh # 1

Mari cuba contoh pertama dengan nombor sederhana iaitu "14 56 47"

Kod di bawah adalah untuk anda.

Kod:

 Sub Val_Contoh1 () Dim k Sebagai Varian k = Val ("14 56 47") 'Tukarkan perkara di atas sebagai 145647 MsgBox k Akhir Sub 

Apabila anda menjalankan kod VBA menggunakan kunci F5 atau secara manual, ia akan mengembalikan hasilnya sebagai "145647" dengan mengabaikan semua watak spasi seperti yang ditunjukkan pada gambar di bawah.

Contoh # 2

Dalam contoh ini, kita akan melihat apa hasil rentetan "+456".

Kod:

 Sub Val_Contoh2 () Dim k Sebagai Varian k = Val ("+ 456") 'Tukarkan perkara di atas sebagai 456 MsgBox k Akhir Sub 

Anda boleh menjalankan kod ini secara manual atau melalui kekunci F5 untuk mengembalikan nilai sebagai 456 dengan mengabaikan +456.

Contoh # 3

Sekarang mari cuba nombor yang sama dengan tanda negatif.

Kod:

 Sub Val_Contoh3 () Dim k Sebagai Varian k = Val ("- 456") 'Tukarkan di atas sebagai -456 MsgBox k Akhir Sub 

Kod ini akan mengembalikan nilai sebagai -456 hanya kerana nombor dengan tanda operator harus ditunjukkan.

Contoh # 4

Sekarang mari kita cuba tali ini "100 Kg".

Kod:

 Sub Val_Contoh4 () Dim k Sebagai Varian k = Val ("100 KG") 'Mengabaikan KG dan hanya mengembalikan 100 MsgBox k Akhir Sub 

Sekiranya anda menjalankan kod ini secara manual atau menggunakan kunci F5, maka kod di atas ini akan mengabaikan "KG" dan hanya mengembalikan "100" di kotak mesej VBA.

Contoh # 5

Sekarang cuba rentetan tarikh iaitu "14-05-2018".

Kod:

Sub Val_Contoh5 () Dim k Sebagai Varian k = Val ("14-05-2019") 'Mengembalikan 14 sebagai hasilnya. MsgBox k Sub Sub

Kod di atas mengembalikan 14 sebagai hasilnya kerana fungsi VAL hanya dapat mengambil nilai berangka sehingga ia menemukan yang lain daripada watak berangka.

Contoh # 6

Sekarang cuba rentetan "7459Good456".

Kod:

Sub Val_Contoh6 () Dim k Sebagai Varian k = Val ("7459 Baik 456") 'Mengembalikan 7459 sebagai hasilnya. MsgBox k Sub Sub

Ini akan mengekstrak nombor sehingga mendapati watak bukan berangka iaitu hasilnya adalah 7459. Walaupun terdapat nilai berangka setelah nilai bukan angka "Baik", ia akan mengabaikan nombor sepenuhnya selepas itu.

Contoh # 7

Sekarang cuba nilai rentetan "H 12456".

Kod:

Sub Val_Contoh7 () Dim k Sebagai Varian k = Val ("H 12456") 'Mengembalikan 0 sebagai hasilnya. MsgBox k Sub Sub

Jalankan kod di atas menggunakan kekunci pintas F5 atau secara manual kemudian mengembalikan hasilnya sebagai sifar. Oleh kerana watak pertama dari tali yang kami sediakan adalah watak bukan angka, maka hasilnya adalah sifar.

Contoh # 8

Sekarang cuba rentetan ini “24545. 2 ”.

Kod:

Sub Val_Contoh8 () Dim k Sebagai Varian k = Val ("24545. 2") 'Mengembalikan 24545.2 sebagai hasilnya. MsgBox k Sub Sub

Kod mengembalikan hasilnya sebagai 24545.2 kerana fungsi VBA VAL menganggap watak dot (.) Sebagai watak perpuluhan dan mengembalikan hasilnya dengan sewajarnya.