VBA String to Integer - Verwenden Sie die CINT-Funktion für die Datenkonvertierung

Inhaltsverzeichnis

Excel VBA String zu Integer

String und Integer sind gängige Datentypen. Im Rahmen unserer Datenanalyse möchten wir jedoch häufig eine String-Datentypvariable in einen Integer-Datentyp konvertieren. Dies ist mithilfe der Funktion „CINT“ in VBA möglich.

Syntax der CINT-Funktion

"CINT" wird als Datentypkonvertierungsfunktion kategorisiert. Diese Funktion konvertiert den bereitgestellten Ausdruck in einen Integer-Datentyp. Wenn ich "Ausdruck" sage, muss es sich um einen numerischen Wert handeln, der im Bereich des Integer-Datentyps in VBA liegt, dh zwischen -32768 und 32767.

Schauen Sie sich nun die Syntax der CINT-Funktion in VBA an.

  • Ausdruck ist der Wert oder die Variable, die den Wert enthält, der in den Integer-Datentyp konvertiert werden soll.
Hinweis 1: Nur wenn Sie den Ausdruckswert übergeben, muss er zwischen -32768 und 32767 liegen. Andernfalls führt dies zu einem „Überlauffehler“, dh dem Zuweisen des Werts, der über dem Grenzwert des Datentyps liegt. Anmerkung 2: Der Ausdruck muss ein numerischer Wert sein. Wenn der Ausdruck ein Zeichenfolgenwert oder ein Textwert ist, führt dies zu einem "Laufzeitfehler 13: Typkonflikt".

In diesem Artikel zeigen wir Ihnen die Konvertierung des Integer-Datentyps von einer Zeichenfolge in eine Ganzzahl mithilfe der Funktion „CINT“.

Beispiele für die CINT-Funktion in VBA

Beispiel 1

Lassen Sie uns das erste Beispiel für die Konvertierung einer Bruchzahl in einen ganzzahligen Datentyp durchführen.

Code:

Sub CINT_Example1 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 2564.589 IntegerResult = CInt (IntegerNumber) MsgBox IntegerResult End Sub
  • Im obigen Code für die Variable "IntegerNumber" habe ich den Wert "2564.589" zugewiesen.
  • In der nächsten Zeile habe ich eine CINT-Funktion angewendet. Der angegebene Wert wird also in die nächste Ganzzahl umgewandelt.

Wir haben also das Ergebnis - 2565, und die angegebene Nummer ist 2564.589. Wenn der Dezimalwert mehr als 0,5 beträgt, runden CINT-Funktionen die Zahl auf die nächste Ganzzahl auf. Wenn der Dezimalwert kleiner oder gleich 0,5 ist, runden CINT-Funktionen auf dieselbe Ganzzahl ab.

Ein Beispiel finden Sie im folgenden Code, bei dem die Zahl kleiner als 0,5 ist

Code:

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

Dies sollte das Ergebnis als 2564 und nicht als 2565 ergeben.

Beispiel 2

Jetzt werde ich versuchen, die Nummer zuzuweisen, die über dem Limit des Integer-Datentyps liegt.

Code:

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

Ich habe die Nummer als "IntegerNumber = 51456.785" zugewiesen, was mehr als das Limit des Integer-Datentyplimits ist. Wenn ich nun versuche, den Code auszuführen, wird in VBA ein Überlauffehler ausgegeben.

Wenn die angegebene Zahl größer als der Datentyp Integer ist, wird das einfache Meldungsfeld mit der Aufschrift "Number is More than the Limit des Integer-Datentyps" angezeigt.

Code:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = 51456.785 Bei Fehler GoTo-Nachricht: IntegerResult = CInt (IntegerNumber) Nachricht: Wenn Err.Number = 6, dann ist MsgBox IntegerNumber & "größer als die Grenze des Integer-Datentyps" End Sub

Dies zeigt die folgende Meldung an, wenn die angegebene Nummer außerhalb des Bereichs des Integer-Datentyps liegt.

Beispiel 3

Jetzt werde ich versuchen, den Wert zuzuweisen, der nicht numerisch ist.

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

Ich habe den Wert als "Hallo" zugewiesen, der nicht numerisch ist. Dies führt zu "Type Mismatch Error".

Anstatt den Fehler wie folgt anzuzeigen, stellen wir dem Benutzer ein einfaches Informationsmeldungsfeld vor. Mit dem folgenden Code wird das Meldungsfeld "Der Wert für den bereitgestellten Ausdruck ist nicht numerisch und kann daher nicht konvertiert werden" angezeigt.

Code:

Sub CINT_Example2 () Dim IntegerNumber As String Dim IntegerResult As Integer IntegerNumber = "Hallo" bei Fehler GoTo-Nachricht: IntegerResult = CInt (IntegerNumber) Nachricht: Wenn Err.Number = 13 Dann MsgBox IntegerNumber & ": Der bereitgestellte Ausdruckswert ist nicht numerisch , Kann also nicht konvertiert werden "End Sub

Daraufhin wird das folgende Meldungsfeld angezeigt.

Dinge, an die man sich erinnern sollte

  • CINT konvertiert Werte von einem anderen Datentyp in einen ganzzahligen Datentyp.
  • Die Ganzzahl kann Werte von -32768 bis 32767 enthalten. Alles, was über diesen Zahlen liegt, führt zu einem Überlauffehler.
  • Nur der Zeichenfolgendatentyp enthält numerische Daten, die in einen ganzzahligen Datentyp konvertiert werden.

Empfohlene Artikel

Dies war eine Anleitung zu VBA String to Integer. Hier werden Beispiele für Zeichenfolgen in Ganzzahlen in Excel VBA mithilfe der CINT-Funktion sowie praktische Beispiele und herunterladbare Excel-Vorlagen erläutert. Im Folgenden finden Sie einige nützliche Artikel zu VBA -

  • VBA String in Array aufteilen
  • Bisherige VBA-Zeichenfolge
  • VBA-String-Vergleich
  • VBA-Zeichenfolge ersetzen

Interessante Beiträge...