VBA String to Integer - Gunakan Fungsi CINT untuk Penukaran Data

Excel VBA String to Integer

String dan Integer adalah jenis data yang biasa, tetapi selalunya sebagai sebahagian daripada analisis data kami, kami mungkin ingin menukar pemboleh ubah jenis data rentetan ke jenis data integer dan ini mungkin dilakukan dengan menggunakan fungsi "CINT" di VBA.

Sintaks Fungsi CINT

"CINT" dikategorikan sebagai fungsi penukaran jenis data. Fungsi ini mengubah ekspresi yang disediakan menjadi jenis data Integer. Apabila saya mengatakan "Ekspresi", itu mestilah nilai numerik yang berada dalam julat jenis data Integer di VBA, yaitu antara -32768 hingga 32767.

Sekarang, lihat sintaks fungsi CINT di VBA.

  • Ekspresi adalah nilai atau pemboleh ubah yang mengandungi nilai yang akan ditukar menjadi Jenis Data Integer.
Catatan 1: Tepat ketika anda lulus nilai ekspresi harus antara -32768 hingga 32767. Jika tidak, ia akan membawa kepada "Over Flow Error," iaitu menetapkan nilai yang melebihi had jenis data. Catatan 2: Ungkapan mestilah nilai berangka. Sekiranya ungkapan itu adalah nilai rentetan atau nilai teks, maka akan menyebabkan "Ralat Masa Jalankan 13: Ketidakcocokan Jenis."

Dalam artikel ini, kami akan menunjukkan kepada anda tentang penukaran jenis data integer dari string ke integer menggunakan fungsi "CINT".

Contoh Fungsi CINT dalam VBA

Contoh # 1

Mari kita buat contoh pertama menukar satu nombor pecahan kepada Jenis Data Integer.

Kod:

Sub CINT_Contoh1 () Dim IntegerNumber Sebagai String Dim IntegerResult As Integer IntegerNumber = 2564.589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • Dalam kod di atas untuk pemboleh ubah "IntegerNumber", saya telah menetapkan nilainya sebagai "2564.589".
  • Pada baris seterusnya, saya telah menerapkan fungsi CINT. Oleh itu, ia akan menukar nilai yang diberikan kepada nombor bulat terdekat.

Jadi, kami mendapat hasilnya - 2565, dan nombor yang dibekalkan adalah 2564.589. Apabila nilai perpuluhan lebih daripada 0.5 fungsi CINT membundarkan nombor ke nombor bulat seterusnya. Apabila nilai perpuluhan kurang daripada atau sama dengan 0,5 fungsi CINT bulat ke bawah ke nombor Integer yang sama.

Sebagai contoh, perhatikan kod di bawah di mana bilangannya kurang daripada 0.5

Kod:

Sub CINT_Contoh1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564 - 0.5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Ini seharusnya memberikan hasilnya sebagai 2564, bukan 2565.

Contoh # 2

Sekarang saya akan mencuba dan memberikan nombor yang melebihi had jenis data Integer.

Kod:

Sub CINT_Contoh2 () Dim IntegerNumber Sebagai String Dim IntegerResult As Integer IntegerNumber = 51456.785 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Saya telah memberikan nombor sebagai "IntegerNumber = 51456.785" yang melebihi had had jenis data Integer. Sekarang jika saya cuba menjalankan kod, ia akan menimbulkan kesalahan limpahan di VBA.

Bila-bila masa nombor yang diberikan lebih banyak daripada jenis data Integer, mari tunjukkan kotak pesanan ringkas yang mengatakan "Nombor Lebih Dari Batas Jenis Data Integer"

Kod:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Pesan: If Err.Number = 6 Maka MsgBox IntegerNumber & "adalah Lebih Banyak Daripada Bilangan Jenis Batas Sub Akhir

Ini akan menunjukkan mesej seperti di bawah setiap kali nombor yang diberikan berada di luar julat jenis data Integer.

Contoh # 3

Sekarang saya akan mencuba dan memberikan nilai yang bukan berangka.

Sub CINT_Contoh2 () Dim IntegerNumber Sebagai String Dim IntegerResult As Integer IntegerNumber = "Hello" IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Saya telah memberikan nilai sebagai "Hello" yang tidak berangka. Ini menyebabkan "Ralat Ketidakpadanan Jenis"

Daripada menunjukkan kesalahan seperti ini, mari letakkan kotak mesej maklumat ringkas di hadapan pengguna. Kod di bawah ini akan meletakkan kotak mesej yang bertuliskan "Nilai Ungkapan Yang Disediakan Bukan Numerik, Jadi tidak dapat ditukar".

Kod:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hello" On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: If Err.Number = 13 Maka MsgBox IntegerNumber & ": Nilai Ungkapan Numerik Yang Tidak Diberikan , Jadi tidak boleh ditukar "End Sub

Ini akan menunjukkan kotak mesej di bawah.

Perkara yang Perlu Diingat

  • CINT menukar nilai dari jenis data lain ke jenis data integer.
  • Integer dapat menahan nilai dari -32768 hingga 32767 apa sahaja di atas nombor ini akan menyebabkan ralat limpahan.
  • Hanya jenis data rentetan yang mengandungi data berangka yang akan ditukar menjadi jenis data integer.

Artikel yang Disyorkan

Ini telah menjadi panduan untuk VBA String to Integer. Di sini kita membincangkan contoh rentetan hingga bilangan bulat dalam Excel VBA dengan menggunakan fungsi CINT bersama dengan contoh praktikal dan templat excel yang boleh dimuat turun. Berikut adalah beberapa artikel berguna yang berkaitan dengan VBA -

  • Rentetan daripada VBA menjadi Array
  • Rentetan sehingga kini
  • Perbandingan Rentetan VBA
  • Rentetan Gantian VBA

Artikel menarik...