Isi kandungan
Dalam artikel ini, kita akan membincangkan beberapa kaedah untuk menukar rentetan kepada nombor dalam Excel VBA. Kami akan melihat cara menggunakan fungsi terbina dalam dan mencipta fungsi tersuai menggunakan fungsi tersebut untuk menukar rentetan kepada nombor dengan contoh kod VBA.
Muat Turun Buku Kerja Amalan
Muat turun buku kerja latihan ini untuk bersenam semasa anda membaca artikel ini.
Tukar Rentetan kepada Nombor.xlsm
3 Cara Menukar Rentetan kepada Nombor dalam Excel VBA
1. Tukar Rentetan kepada Nombor Menggunakan Fungsi Penukaran Jenis
Excel menyediakan beberapa fungsi penukaran jenis terbina dalam. Kami boleh menggunakannya dalam kod VBA kami untuk menukar dengan mudah daripada jenis data rentetan kepada jenis data yang berbeza.
1.1 Rentetan kepada Integer
Untuk menukar rentetan kepada integer , kita boleh menggunakan fungsi CInt dalam kod kami. Fungsi CInt hanya mengambil satu hujah dan itu harus menjadi nilai angka . Mari cuba kod berikut dalam Editor Kod Visual.
5256
Tekan F5 untuk jalankan kod . Output ditunjukkan dalam MsgBox .
Fungsi CInt menukar nilai rentetan angka 3>(“12.3” ) kepada integer 12.
Untuk memahami lebih lanjut tentang fungsi CInt , jalankan perkara berikut kod dalam editor kod dan perhatikan hasil .
3061
output ada di sini dalammengikuti tangkapan skrin .
Penjelasan Kod
Dalam kod ini, kami menggunakan Untuk… Gelung seterusnya untuk menggunakan fungsi CInt pada rentetan sel B3:B7. output dicetak dalam sel C3:C7. Kami menggunakan Fungsi Sel untuk menentukan nilai input dan tempat untuk mencetak nilai output.
Hasil
Fungsi CInt menukar 25.5 kepada nombor integer seterusnya 26 . Sebaliknya, ia menukar 10.3 kepada 10, bukan 11 . Apabila nilai angka perpuluhan kurang daripada .5, fungsi itu membundarkan ke nombor yang sama. Tetapi perpuluhan nilai rentetan angka bertukar menjadi integer seterusnya nombor jika ia sama dengan atau lebih besar daripada .5.
Nota
Nilai integer mempunyai julat antara -32,768 hingga 32,767 . Jika kita meletakkan nilai berangka yang di luar julat ini , Excel akan menunjukkan ralat .
1.2 Rentetan kepada Panjang
Fungsi CLng menukar nilai rentetan berangka kepada jenis data panjang . Ia berfungsi sama dengan fungsi CInt. Perbezaan utama terletak pada julat nya iaitu antara -2,147,483,648 dan 2,147,483,647.
The code to run is here below:6360
Di sini, sel B3:B9 mengandungi beberapa nilai rentetan berangka dan yang ditukar l nombor ada dalam sel C3:C9. Fungsi CLng ditukar -32800 dan 32800 berjaya kepada nombor panjang yang fungsi CInt tidak dapat. Tetapi ia juga akan mendapat ralat jika input nilai angka adalah di luar julat.
1.3 Rentetan kepada Perpuluhan
Menggunakan fungsi CDec kita boleh tukar a nilai rentetan berangka kepada jenis data perpuluhan. Jalankan kod berikut untuk menukar nilai berangka dalam sel B3:B7 kepada jenis data perpuluhan.
1298
1.4 Rentetan kepada Tunggal
Dalam contoh ini, kami akan menukar rentetan input menjadi jenis data tunggal (tunggal -titik terapung ketepatan) nombor. Untuk ini, kita perlu menggunakan Fungsi CSng .
Julat jenis data tunggal- (i) -3.402823E38 hingga -1.40 Sub StringToNumber() For i = 3 To 7 Cells(i, 3).Value = CDec(Cells(i, 2)) Next End Sub
E-45 untuk negatif nombor.
(ii) 1.40 Sub StringToNumber() For i = 3 To 7 Cells(i, 3).Value = CDec(Cells(i, 2)) Next End Sub
E-45 E3
4>2. positif nombor.
Jalankan kod berikut dalam editor asas visual.
4673
Dalam output, sel B3:B9 mengandungi beberapa nilai rentetan berangka, dan nombor jenis data tunggal yang ditukar ada dalam sel C3:C9. Tetapi ia juga akan mendapat ralat jika input nilai angka adalah di luar julat.
1.5 Rentetan kepada Berganda
Dalam contoh ini, kami akan menukar rentetan input menjadi jenis data berganda (apung ketepatan ganda -titik) nombor. Untuk ini, kita perlukanuntuk menggunakan fungsi CDbl .
Julat jenis data berganda- (i) -1.79769313486231E308 hingga -4.94065645841247E-324 untuk negatif nombor.
(ii) 4.94065645841247E-324 <4.94065647E-324> <4.94065647E-324> <4.94065645841247E-324> <4.94065647E-324> <4.247E-324> <4.7E-324> <4.8> .
Jalankan kod berikut dalam editor asas visual.
8974
Dalam output, sel B3:B9 mengandungi beberapa nilai rentetan berangka dan nombor jenis data berganda yang ditukar ada dalam sel C3:C9. Tetapi ia juga akan mendapat ralat jika input nilai angka adalah di luar julat.
1.6 Rentetan kepada Mata Wang
Jenis data mata wang berguna apabila pengiraan berkaitan dengan wang . Selain itu, jika kita mahukan lebih ketepatan dalam tetap – mata pengiraan , penggunaan jenis data mata wang ialah pilihan yang baik. Kita perlu menggunakan fungsi CCur untuk menukar rentetan kepada jenis data mata wang . Jenis data julat daripada -922,337,203,685,477.5808 hingga 922,337,203,685,477.5808.
Kod kepada tukar nilai rentetan angka 4> daripada sel B3:B7 hingga jenis data mata wang dalam sel C3:C7 ada di bawah.
1988
1.7 Rentetan kepada Bait
Fungsi CByte menukar nilai rentetan berangka kepada jenis data bait yang berjulat daripada 0 hingga 255.
Kod adalah sebagaiberikut :
3199
Dalam output, sel B3:B9 mengandungi beberapa nilai rentetan berangka, dan nombor jenis data bait yang ditukar ada dalam sel C3:C9. Tetapi ia juga akan mendapat ralat jika input nilai angka adalah di luar julat.
Baca lebih lanjut: Cara Menukar Rentetan kepada Panjang Menggunakan VBA dalam Excel
Bacaan Serupa
- Tukar Rentetan kepada Berganda dalam Excel VBA (5 Kaedah)
- Cara Menukar Teks kepada Nombor dengan Excel VBA (3 Contoh dengan Makro)
- Betulkan Ralat Tukar kepada Nombor dalam Excel (6 Kaedah)
- Cara Menukar Notasi Saintifik kepada Nombor dalam Excel (7 Kaedah)
2. Penggunaan Fungsi VBA Tersuai untuk Menyemak dan Menukar Rentetan kepada Nombor dalam Excel
Dalam ilustrasi ini, kita akan membuat fungsi tersuai untuk menukar rentetan kepada nombor. Kemudian kita boleh menggunakan fungsi tersuai ini dalam lembaran kerja seperti fungsi terbina dalam . Dalam contoh ini, kami akan menggunakan fungsi CInt untuk menukar rentetan kepada integer semasa mencipta fungsi tersuai. Kami juga boleh menggunakan semua fungsi lain yang diterangkan dalam kaedah 1 untuk menukar rentetan kepada jenis data yang berbeza . Sekarang, ikuti langkah di bawah untuk mencapainya.
Langkah:
- Di sini, dalam sel B3:B7, kita mempunyai beberapa rentetan berangkanilai.
- Sekarang, dalam editor asas visual, salin dan tampal kod berikut dan kemudian tekan Ctrl + S untuk simpan
3541
- Dalam sel C3 , mula menaip nama fungsi ( StringToNumber ). Excel akan secara automatik mencadangkan fungsi untuk digunakan. Tekan kekunci Tab untuk memasuki fungsi.
- Letakkan rujukan sel B3 sebagai satu-satunya hujah.
- Sekarang, tekan Enter selepas menutup kurungan.
- Cari Pemegang Isi di sudut bawah kanan sel C3 untuk digunakan fungsi kepada sel C4:C7.
- Output akhir ialah nombor integer yang diidamkan daripada nilai rentetan .
3. Kod VBA untuk Menukar Julat Sel Terpilih kepada Nombor dalam Excel
Dalam ilustrasi ini, kami akan menukar julat daripada sel yang dipilih mengandungi nilai rentetan kepada nombor integer. Jika mana-mana sel mengandungi nilai bukan angka di dalamnya, output akan menjadi baris sempang (-) sebaliknya . Ikut langkah :
- Pilih sel B3:B6 mempunyai rentetan angka nilai dan B7 yang mengandungi bukan angka
- Dalam Editor Asas Visual salin dan tampal yang berikut kod .
5090
- Sekarang, tekan F5 untuk jalankan output seperti yang ditunjukkan dalam tangkapan skrin berikut.
Nota
- Kami menggunakan isNumeric function dalam 2 dan 3 kaedah dalam kod VBA kami yang menyemak sama ada ungkapan boleh ditukar kepada nombor.
- In kaedah 1 , kami menggunakan fungsi terbina dalam (CInt, CDbl, CSng…..) untuk menukar nilai rentetan angka kepada nombor . Tetapi jika terdapat nilai bukan angka , ia akan menunjukkan ralat tidak padan .
Kesimpulan
Kini, kita tahu cara menukar nilai rentetan kepada nombor dalam Excel. Mudah-mudahan, ia akan menggalakkan anda menggunakan fungsi ini dengan lebih yakin. Sebarang soalan atau cadangan jangan lupa letakkan di dalam kotak komen di bawah.