VBA Long (Beispiel) - Schritt-für-Schritt-Anleitung zum langen Datentyp in Excel VBA

Was ist ein langer Datentyp in VBA?

Long ist ein Datentyp in VBA, der zum Speichern der numerischen Werte verwendet wird. Wir wissen, dass die Ganzzahl auch numerische Werte enthält, aber Long unterscheidet sich von Ganzzahlen, da der Bereich für die Speicherung von Daten bei langen 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 Datentyp VBA Long erfordert 4 Byte Speicherplatz auf Ihrem Computer. Dies ist der variable Speicher des Datentyps mit doppelter Ganzzahl (2 Byte) und die Hälfte des variablen Speichers mit doppeltem Datentyp (8 Byte).

Ich habe noch nie ein Szenario gesehen, in dem ich das Limit eines VBA Long-Datentyps in meiner kurzen Karriere 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.

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 vorhanden 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 in der folgenden Abbildung 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 zur Zeit können Daten bei 25000 enden -ten Zeile, aber wenn die Daten , erhöht sich jenseits der „Integer“ Limit, das heißt, 32767, verursacht es einen Überlauffehler.

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

Wenn ich jetzt denselben Code erneut ausführe, erhalte ich den Wert nicht. Vielmehr werde ich den Fehler wie folgt erhalten.

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 ein Überlauffehler mit dem Datentyp LONG angezeigt wird. 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.

Interessante Beiträge...