VBA Long

Was ist ein langer Datentyp in VBA?

Long ist ein Datentyp in VBA, der zum Speichern der numerischen Werte verwendet wird. Wir wissen, dass Integer auch numerische Werte enthält, Long unterscheidet sich jedoch von Integers, da der Bereich für die Speicherung von Daten bei Long-Datentypen auch in Long sehr groß ist Datentyp Wir können auch Dezimalwerte speichern. Dies ist ein eingebauter Datentyp.

"Lang", wie der Name schon sagt, sollte es den Wert von etwas Großem enthalten. "Long" ist ein numerischer Datentyp in VBA Excel.

Der lange Datentyp in Excel VBA kann die Werte 0 bis 2, 147, 483, 647 für positive Zahlen und für die negative Zahl 0 bis -2, 147, 483, 648 enthalten.

Der lange VBA-Datentyp erfordert 4 Byte Speicherplatz auf Ihrem Computer. Dies ist der doppelte ganzzahlige Datentyp (2 Byte) und die Hälfte des doppelten Datentyp-Variablenspeichers (8 Byte).

Ich habe noch nie ein Szenario gesehen, in dem ich in meiner kurzen Karriere das Limit eines VBA Long-Datentyps voll ausnutzen möchte. Aber ich werde Ihnen einige Beispiele zeigen, um es besser zu verstehen.

Beispiele für den langen VBA-Datentyp

Nachfolgend finden Sie Beispiele für den Datentyp Excel VBA Long.

Sie können diese VBA-Excel-Vorlage für lange Datentypen hier herunterladen - VBA-Excel-Vorlage für lange Datentypen

VBA Long Beispiel # 1

Sobald Sie den variablen Datentyp als "Long" deklarieren, können Sie die Werte von -2, 147, 483, 648 bis 2, 147, 483, 648 zuweisen.

Deklarieren Sie beispielsweise die Variable als langen Datentyp.

Code:

 Sub Long_Example1 () Dim k As Long End Sub 

Weisen Sie den Wert als Gesamtzeilenanzahl des Arbeitsblatts zu.

Um die Gesamtzahl der Zeilen im Excel-Arbeitsblattcode zu erhalten, müssen Sie „Zeilen. Anzahl"

Code:

 Sub Long_Example1 () Dim k As Long k = Rows.Count End Sub 

Zeigen Sie nun den Wert im Meldungsfeld an.

Code:

 Sub Long_Example1 () Dim k As Long k = Rows.Count MsgBox k End Sub 

Führen Sie diesen Code aus und sehen Sie, wie viele Zeilen insgesamt im Arbeitsblatt enthalten sind.

Es heißt, wir haben mehr als 1 Million Zeilen im Arbeitsblatt.

Zum besseren Verständnis werde ich jetzt den Datentyp von LONG in INTEGER ändern.

Code:

 Sub Long_Example1 () Dim k As Integer k = Rows.Count MsgBox k End Sub 

Wenn ich den VBA-Code ausführe, wird die Fehlermeldung "Überlauf" angezeigt.

Der Grund, warum wir diesen Fehler in VBA erhalten haben, weil der Datentyp "Integer" nur die Werte von -31768 bis 32767 enthalten kann. In diesem Fall „Zeilen. Count “gibt die Zahl zurück, die über dem Grenzwert der Variablen„ Integer “liegt.

Das Zuweisen des Werts von über 1 Million zu der Variablen, die nur 32767 enthalten kann, verursacht hier den Überlauffehler.

VBA Long Beispiel # 2

Finden Sie die letzte Zeile mit Long Variable

Das Finden der zuletzt verwendeten Zeile des Arbeitsblatts ist die wichtigste Codierung. Um die zuletzt verwendete Zeile des Arbeitsblatts zu finden, muss eine Variable deklariert werden. Das Deklarieren der Variablen und das Zuweisen eines Datentyps erfordert einen gesunden Menschenverstand.

Angenommen, Sie haben Datenenden bei 25000 Zeilen, wie im folgenden Bild gezeigt.

Jetzt weiß ich, dass die zuletzt verwendete Zeilennummer 25000 ist. Dafür benötigen wir den Datentyp "LONG" nicht, da der Datentyp "INTEGER" mir die letzte Zeile geben kann.

Schauen Sie sich den folgenden Code zu Ihrer Information an.

Code:

 Sub Long_Example1 () Dim k As Integer k = Zellen (Rows.Count, 1) .End (xlUp) .Row MsgBox k End Sub 

Wenn ich diesen Code ausführe, erhalte ich die zuletzt verwendete Zeilennummer des Arbeitsblatts, an dem ich gerade arbeite.

Als Codierer ist es wichtig, die Größe der Daten zu kennen, über die Sie in Zukunft verfügen werden. Da die Daten derzeit möglicherweise in der 25000. Zeile enden, die Daten jedoch über den Grenzwert „Integer“ (32767) hinausgehen, führt dies zu einem Überlauffehler.

Zum Beispiel werde ich die Daten auf 32768. Zeilen erhöhen.

Wenn ich jetzt denselben Code erneut ausführe, erhalte ich nicht den Wert, sondern den folgenden Fehler.

Denken Sie daran, dass ich das Limit um nur 1 über das Limit des Integer-Werts hinaus erhöht habe, sodass ein Überlauffehler aufgetreten ist.

Daher ist es wichtig, die Größe Ihrer Daten zu kennen, bevor Sie der Variablen einen Datentyp zuweisen. Es ist immer eine bessere Option, die Variable als "LONG" zu deklarieren, ohne in Zukunft an Ihre Datengröße zu denken.

Alternativen zu Excel VBA Long Variable

Sie müssen bereits darüber nachdenken, was passiert, wenn wir den Wert über dem Limit einer langen Variablen halten möchten. Dazu müssen wir verschiedene Datentypen verwenden, dh entweder VBA "String" oder "Variant"

Denken Sie daran, dass in dem Moment, in dem die Nummer 2147483647 überschritten wird, in VBA mit dem Datentyp LONG ein Überlauffehler auftritt. Um mehr als diese Nummer zu speichern, müssen Sie den Datentyp "String" oder "Variant" verwenden.

Für String

Code:

 Sub Long_Example2 () Dim k As String k = 2147483648 MsgBox k End Sub 

Für Variante

Code:

 Sub Long_Example2 () Dim k As Variant k = 2147483648 MsgBox k End Sub 

Wenn wir die obigen Codes ausführen, wird die angegebene Nummer angezeigt.