VBA CLng-Funktion - Ausdruck in Long konvertieren

Inhaltsverzeichnis

In diesem Tutorial wird gezeigt, wie Sie die VBA-Funktion CLng verwenden, um einen Ausdruck in den Long Integer-Datentyp zu konvertieren.

CLng-Funktion

VBA CLng Ausdruck in Long konvertieren

Die VBA CLng-Funktion kann verwendet werden, um Ausdrücke innerhalb des VBA-Codes in den langen Datentyp zu konvertieren.

123456 Unter CLngExample_1()MsgBox CLng(12.34) 'Ergebnis ist: 12MsgBox CLng(12.345) 'Ergebnis ist: 12MsgBox CLng(-124) 'Ergebnis ist: -124MsgBox CLng(-12.34) 'Ergebnis ist: -12End Sub

VBA CLng-Rundung

Die VBA CLng-Funktion rundet den Dezimalteil eines Zahlentyps oder eines zahlenähnlichen Ausdrucks. Es wird jedoch nicht in allen Fällen richtig gerundet. Wenn der Dezimalteil 0,5 beträgt, gibt die VBA CLng-Funktion die nächste gerade ganze Zahl zurück.

1234567891011 Unter CLngExample_2()MsgBox CLng(0.34) 'Ergebnis ist: 0MsgBox CLng(0.99) 'Ergebnis ist: 1MsgBox CLng(-124.95) 'Ergebnis ist: -125MsgBox CLng(1.5) 'Ergebnis ist: 2MsgBox CLng(2.5) 'Ergebnis ist: 2End Sub

Wir können eine relativ kleine Dezimalzahl zu unserem erwarteten Dezimalwert hinzufügen, um das Verhalten der VBA CLng-Funktion auf das erwartete zu ändern.

1234567891011 Unter CLngExample_3()MsgBox CLng(2.5)'Ergebnis ist: 2MsgBox CLng(2,5 + 0,001)'Ergebnis ist: 3MsgBox CLng(14.5)'Ergebnis ist: 14MsgBox CLng(14,5 + 0,001)'Ergebnis ist: 15End Sub

VBA-Programmierung | Code Generator arbeitet für Sie!

VBA CLng Konvertieren von Strings in Longs

Die VBA CLng-Funktion kann verwendet werden, um Strings in Longs umzuwandeln, wenn die Zeichen im String eine Bedeutung als Zahlen haben.

123456789101112131415161718 Unter CLngExample_4()Dim StrEx als StringStrEx = "112"MsgBox CLng(StrEx)'Ergebnis ist: 112StrEx = "112.3"MsgBox CLng(StrEx)'Ergebnis ist: 112 112,3 ist gerundetStrEx = "11,2"MsgBox CLng(StrEx)'Ergebnis ist: 112 , wird ignoriertStrEx = "112 $"MsgBox CLng(StrEx)'Ergebnis ist: 112 $ wird ignoriertEnd Sub

VBA-CLng-Laufzeitfehler 13 Typkonflikt

Die Verwendung der VBA CLng-Funktion mit Zeichenfolgen, die nicht numerische Zeichen oder Zeichen enthalten, die im numerischen Kontext keine Bedeutung haben, führt zu einem Laufzeitfehler '13': Typkonflikt.

1234567 Unter CLngExample_5()'Der folgende Code führt zu einer FEHLER-Meldung'CLng kann keine nicht numerischen Zeichen verarbeitenDim StrEx als StringStrEx = "Ab13"MsgBox CLng(StrEx)End Sub

VBA CLng-Laufzeitfehler 6 Überlauf

Die Verwendung der VBA-CLng-Funktion mit Zeichenfolgen, die zu einem Wert führen, der kleiner oder größer als die erwartete ganze Zahl ist, führt zu einem Laufzeitfehler '6': Overflow. Der Integer-Datentyp in Excel hat einen erwarteten Wert von -2.147.483.648 bis 2.147.483.647.

1234567 Unter CLngExample_6()'Der folgende Code führt zu einer FEHLER-Meldung'CLng kann nicht numerische Zeichen verarbeitenDim StrEx als StringStrEx = "2147483648"MsgBox CLng(StrEx)End Sub

Sind Sie es leid, nach VBA-Codebeispielen zu suchen? Probieren Sie AutoMacro aus!

Regionale VBA-CLng-Einstellungen

Die VBA CLng-Funktion hat ein anderes Verhalten beim Konvertieren von Zeichenfolgen mit Komma oder Punkt. Es verwendet die Ländereinstellungen des Betriebssystems für Dezimaltrennzeichen und Zifferntrennzeichen.

12345678910111213141516 Unter CLngExample_7()Dim StrEx als StringStrEx = "1,9"MsgBox CLng(StrEx)‘Wenn regionale Einstellungen haben, als Gruppierungstrennzeichen, dann'Ergebnis ist: 19‘Wenn regionale Einstellungen haben, als Dezimaltrennzeichen, dann'Ergebnis ist: 2 (2 weil 1,9 gerundet wird)StrEx = "1,9"MsgBox CLng(StrEx)„Wenn die Regionaleinstellungen . als Gruppierungstrennzeichen dann'Ergebnis ist: 19„Wenn die Regionaleinstellungen . als Dezimaltrennzeichen dann'Ergebnis ist: 2 (2 weil 1,9 gerundet wird)End Sub

VBA-Programmierung | Code Generator arbeitet für Sie!

VBA CLng Konvertierung von Booleans in Longs

Die VBA CLng-Funktion kann boolesche Variablen in Longs umwandeln. Wenn der ausgewertete Ausdruck wahr ist, ist das resultierende long -1 und wenn der ausgewertete Ausdruck falsch ist, ist das resultierende long 0.

1234567891011121314 Unter CLngExample_8()Dim BoolEx As BooleanBoolEx = TrueMsgBox CLng(BoolEx)'Ergebnis ist: -1MsgBox CLng(2 = 2)'Ergebnis ist: -1BoolEx = FalschMsgBox CLng(BoolEx)'Ergebnis ist: 0MsgBox CLng(1 = 2)'Ergebnis ist: 0End Sub

VBA CLng Konvertieren von Daten in Longs

Die VBA CLng-Funktion kann eine Datumsvariable in eine lange konvertieren. Der zurückgegebene Wert ist die interne Zahl, die von Excel für die Datumsspeicherung verwendet wird, gerundet. Wenn diese Zahl außerhalb der erwarteten langen Grenzen für VBA liegt, erhalten wir einen Laufzeitfehler ’6’: Overflow.

123456789101112 Unter CLngExample_9()Dim DateEx als DatumDatumEx = #2/3/1940#MsgBox CLng(DateEx)'Ergebnis ist: 14644DatumEx = #8/7/1964#MsgBox CLng(DateEx)'Ergebnis ist: 23596DateEx = #3/7/1934 11:32:04 #MsgBox CLng(DateEx)'Ergebnis ist: 12485End Sub

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave