VBA String to Inger - Utilizați funcția CINT pentru conversia datelor

Excel VBA String to Inger

Șirul și întregul sunt tipuri de date obișnuite, dar adesea ca parte a analizei noastre de date, este posibil să dorim să convertim variabila tip de șir de date în tip de date întregi și acest lucru este posibil utilizând funcția „CINT” în VBA.

Sintaxa funcției CINT

„CINT” este clasificat ca funcție de conversie a tipului de date. Această funcție convertește expresia furnizată într-un tip de date întreg. Când spun „Expresie”, trebuie să fie o valoare numerică care se află în intervalul tipului de date întregi în VBA, adică între -32768 și 32767.

Acum, uitați-vă la sintaxa funcției CINT în VBA.

  • Expresia este valoarea sau variabila care conține valoarea care urmează să fie convertită în tip de date întregi.
Notă 1: Tocmai când treceți valoarea expresiei trebuie să fie între -32768 și 32767. În caz contrar, aceasta va duce la „Eroare peste flux”, adică atribuirea valorii care depășește limita tipului de date. Nota 2: Expresia trebuie să fie o valoare numerică. Dacă expresia este valoarea șirului sau valoarea textului, va provoca o „Eroare de timp de rulare 13: necorespundere de tip”.

În acest articol, vă vom arăta despre conversia tipului de date întregi din șir într-un număr întreg folosind funcția „CINT”.

Exemple de funcții CINT în VBA

Exemplul nr. 1

Să efectuăm primul exemplu de conversie a unui număr de fracțiune în tip de date întregi.

Cod:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564.589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • În codul de mai sus pentru variabila „Număr întreg”, am atribuit valoarea „2564.589”.
  • În următoarea linie, am aplicat o funcție CINT. Deci va converti valoarea furnizată la cel mai apropiat număr întreg.

Deci, am obținut rezultatul - 2565, iar numărul furnizat este 2564.589. Când valoarea zecimală este mai mare de 0,5 funcțiile CINT rotunjesc numărul la următorul număr întreg. Când valoarea zecimală este mai mică sau egală cu 0,5 funcțiile CINT rotunjesc în jos la același număr întreg.

Pentru un exemplu, consultați codul de mai jos, unde numărul este mai mic de 0,5

Cod:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564 - 0,5 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub

Acest lucru ar trebui să dea rezultatul ca 2564, nu 2565.

Exemplul nr. 2

Acum voi încerca și atribui numărul care este mai mult decât limita tipului de date Integer.

Cod:

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

Am atribuit numărul ca „Număr întreg = 51456.785”, care depășește limita limitei tipului de date Întreg. Acum, dacă încerc să rulez codul, va genera o eroare de depășire în VBA.

Ori de câte ori numărul furnizat este mai mare decât tipul de date întreg permite afișarea casetei de mesaj simple care spune „Numărul este mai mult decât limita tipului de date întreg”.

Cod:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 On Error GoTo Message: IntegerResult = CInt (IntegerNumber) Message: If Err.Number = 6 Then MsgBox IntegerNumber & "is More than the Limit of the Integer Data Sfârșitul Sub

Acesta va afișa mesajul ca cel de mai jos ori de câte ori numărul furnizat este în afara intervalului tipului de date Întreg.

Exemplul nr. 3

Acum voi încerca și voi atribui valoarea care nu este numerică.

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

Am atribuit valoarea ca „Bună ziua”, care nu este numerică. Acest lucru provoacă „Eroare de nepotrivire de tip”.

În loc să afișăm eroarea așa, să punem o casetă simplă de informații în fața utilizatorului. Codul de mai jos va afișa caseta de mesaj care spune „Valoarea expresiei furnizate este nenumerică, deci nu poate fi convertită”.

Cod:

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 Then MsgBox IntegerNumber & ": Valoarea expresiei furnizate este nenumerică , Deci nu se poate converti "End Sub

Aceasta va afișa caseta de mesaj de mai jos.

Lucruri de amintit

  • CINT convertește valoarea dintr-un alt tip de date într-un tip de date întreg.
  • Numărul întreg poate conține valori de la -32768 la 32767 orice altceva decât aceste numere va provoca o eroare de depășire.
  • Numai tipul de date șir conține date numerice care vor fi convertite într-un tip de date întreg.

Articole recomandate

Acesta a fost un ghid pentru VBA String to Integer. Aici discutăm exemple de șir la întreg în Excel VBA utilizând funcția CINT împreună cu exemple practice și șablon Excel descărcabil. Mai jos sunt câteva articole utile legate de VBA -

  • VBA Split String in Array
  • Șir VBA până în prezent
  • Comparație VBA String
  • VBA Replace String

Articole interesante...