Einführung in den VBA-Überlauffehler

Bei der Arbeit mit VBA treten viele Fehlertypen auf. Fehler werden als Laufzeitfehler bezeichnet, wenn sie beim Ausführen des Codes auf einen Fehler gestoßen sind. Außerdem wird jedem Code bei der Programmierung von VBA ein bestimmter Code zugewiesen. In Excel ist ein solcher Fehler der VBA-Überlauffehler. Der Code für diesen Fehler ist Laufzeitfehler 6, was einen Überlauf bei der Programmierung von VBA bedeutet. Wir werden in diesem Artikel über diesen Fehler erfahren.

Jetzt wissen wir, was dieser Überlauffehler ist. Lassen Sie uns nun verstehen, was dieser Fehler bedeutet. Wenn wir eine Variable als bestimmten Datentyp deklarieren und der Wert der Variablen die Grenze des Datentyps der Variablen überschreitet, erhalten wir den Fehler für einen Überlauf. Wenn wir beispielsweise eine Variable als Ganzzahl definieren und wissen, dass Ganzzahl Werte bis zu 32767 für positive Zahlen und -32768 für negative Zahlen enthalten kann. Wenn wir also eine Eingabe außerhalb dieses Bereichs bereitstellen, tritt in VBA ein Überlauffehler auf.

Ein Überlauffehler in Laienbegriffen bedeutet, dass wir einen Datentyp mit den Werten überladen, die er enthalten kann. Solche Fälle werden uns auf diesen Fehler stoßen. Um diesen Fehler zu vermeiden, müssen wir wissen, welchen Datentyp wir verwenden, damit wir ihn verhindern können.

Wir werden anhand verschiedener Beispiele sehen, wie bei verschiedenen Datentypen möglicherweise dieser Fehler auftritt.

Wie Verwenden von VBA Overflow Error in Excel?

Anhand einiger Beispiele in Excel lernen wir, wie man eine VBA-Überlauffehlerfunktion verwendet.

Sie können diese Excel-Vorlage für VBA-OverFlow-Fehler hier herunterladen - Excel-Vorlage für VBA-OverFlow-Fehler

Beispiel # 1 - Überlauffehler

Für das erste Beispiel verwenden wir den Datentyp Integer. Versuchen wir, die Werte zu überlaufen, damit Variablen sie nicht speichern können, und sehen wir den Fehler, auf den wir stoßen.

Führen Sie die folgenden Schritte aus, um die VBA-Überlauffehlerfunktion in Excel zu verwenden:

Schritt 1: Um mit VBA zu beginnen, müssen wir zunächst die Registerkarte des Entwicklers aktivieren und dann darauf klicken, um die Option VB Editor aus Visual Basic zu öffnen (siehe Abbildung unten).

Schritt 2: Klicken Sie darauf und fügen Sie ein Modul wie folgt ein. Sobald Sie auf das Modul geklickt haben. Doppelklicken Sie darauf und es öffnet sich ein weiteres Fenster für uns, in dem wir unseren Code schreiben werden.

Schritt 3 : Auf der rechten Seite sehen wir ein leeres Fenster, deklarieren eine Unterfunktion und so starten wir ein Makro wie folgt:

Code:

 Sub Sample () End Sub 

Schritt 4: Deklarieren Sie eine Variable als Ganzzahl, sodass sie für uns einen Ganzzahlwert enthalten kann.

Code:

 Sub Sample () Dim A As Integer End Sub 

Schritt 5: Jetzt in Variable A einen solchen Wert speichern, der den Datentyp wie folgt überläuft:

Code:

 Sub Sample () Dim A As Integer A = 4896 * 5000 End Sub 

Schritt 6: Zeigen Sie nun den Wert von A mit der msgbox-Funktion an.

Code:

 Sub Sample () Dim A As Integer A = 4896 * 5000 MsgBox A End Sub 

Schritt 7: Führen Sie den obigen Code aus und sehen Sie, welches Ergebnis wir erhalten.

Wir haben diesen Fehler erhalten, weil 4896 * 5000 über dem positiven Zahlenlimit für den zu haltenden Integer-Datentyp liegt und die Variable A mit diesem Wert übergelaufen ist, sodass dieser Fehler auftritt.

Beispiel # 2 - Überlauffehler

Lassen Sie uns in diesem Beispiel den Datentyp BYTE verwenden. Wir wissen, dass der Bytedatentyp Werte von 0 bis 255 enthalten kann, aber alle anderen Werte als dieser Bereich führen zu einem Fehler. Lass es uns herausfinden.

Schritt 1: Wir haben unser Modul bereits eingefügt, wir können dasselbe bearbeiten oder ein neues erstellen. Aber lassen Sie uns an demselben Modul arbeiten, das wir eingefügt haben. Doppelklicken Sie auf das Modul, um das Codefenster erneut aufzurufen.

Schritt 2: Deklarieren Sie eine weitere Unterfunktion wie folgt:

Code:

 Sub Sample1 () End Sub 

Schritt 3: Deklarieren Sie eine Variable wie folgt als Datentyp BYTE.

Code:

 Sub Sample1 () Dim A As Byte End Sub 

Schritt 4: Jetzt in Variable A Wert über 255 wie folgt speichern,

Code:

 Sub Sample1 () Dim A As Byte A = 266 End Sub 

Schritt 5: Verwenden Sie eine msgbox-Funktion, um den Wert von A anzuzeigen.

Code:

 Sub Sample1 () Dim A As Byte A = 266 MsgBox A End Sub 

Schritt 6: Lassen Sie uns den obigen Code ausführen, indem Sie F5 drücken und das Ergebnis sehen,

Schritt 7: Lassen Sie uns nun versuchen, den Wert von A in 244 zu ändern und den Code erneut auszuführen, um das Ergebnis zu sehen.

Code:

 Sub Sample1 () Dim A As Byte A = 244 MsgBox A End Sub 

Schritt 8: Wenn wir den Code erneut ausführen, sehen wir folgendes Ergebnis:

Wenn wir die Codevariable A zum ersten Mal ausführen, hat sie Werte, die über dem Bereich liegen, den ein BYTE-Datentyp halten kann. In der zweiten Instanz hat die Variable A Daten in ihrem Datentypbereich, sodass der Überlauffehler nicht aufgetreten ist.

Beispiel # 3 - Überlauffehler

Lassen Sie uns nun den Datentyp LONG als Beispiel verwenden, da er unter Programmierern der am häufigsten verwendete Datentyp ist.

Schritt 1: Wir werden wieder in demselben Modul arbeiten, das wir zuvor eingefügt haben. Wir müssen nur auf das Modul doppelklicken und schon sind wir drin.

Schritt 2: Deklarieren Sie eine Unterfunktion wie im Screenshot gezeigt.

Code:

 Sub Sample2 () End Sub 

Schritt 3: Deklarieren Sie eine Variable wie folgt als LONG-Datentyp.

Code:

 Sub Sample2 () Dim A As Long End Sub 

Schritt 4: Lassen Sie uns nun ähnlich wie in den obigen Beispielen diese Variable überfluten, indem Sie dafür sorgen, dass die Werte wie folgt über ihrem Bereich liegen.

Code:

 Sub Sample2 () Dim A As Long A = 2000 * 365 End Sub 

Schritt 5: Verwenden Sie eine msgbox-Funktion, um den Wert von A wie folgt anzuzeigen.

Code:

 Sub Sample2 () Dim A As Long A = 2000 * 365 MsgBox A End Sub 

Schritt 6: Klicken Sie auf die obige Schaltfläche Ausführen und stellen Sie fest, dass ein Überlauffehler auftritt.

Schritt 7: Jetzt gibt es eine Methode, um diesen Fehler im langen Datentyp mithilfe der CLNG-Funktion wie folgt zu beheben.

Code:

 Sub Sample2 () Dim A As Long A = CLng (2000) * 365 MsgBox A End Sub 

Schritt 8: Wenn wir jetzt den Code erneut ausführen, können wir das folgende Ergebnis sehen.

Was hat die CLNG-Funktion nun getan? Der Wert wurde in eine lange Ganzzahl umgewandelt, die die Variable enthalten kann.

Überlauffehler in VBA überwinden

Wenn in VBA ein Überlauffehler auftritt, der bedeutet, dass eine unserer Variablen nicht mehr Werte enthält, die nicht gespeichert werden können. Wir müssen die Variable identifizieren und korrigieren. Außerdem haben wir die CLNG-Funktion für lange Datentypen, um uns zu helfen. Aber es hilft tatsächlich, unseren Datentyp zu kennen.

Dinge, an die man sich erinnern sollte

Es gibt bestimmte Dinge, an die wir uns bei Überlauffehlern in VBA erinnern müssen:

  • Überlauffehler ist ein Laufzeitfehler.
  • Der Fehlercode für Überlauffehler ist 6.
  • Um Überlauffehler zu überwinden, müssen wir wissen, welcher Datentyp wie viele Werte enthalten kann.
  • Die CLNG-Funktion hilft bei Überlauffehlern bei langen Datentypen.

Empfohlene Artikel

Dies ist eine Anleitung zum VBA-Überlauffehler. Hier wird die Verwendung der Excel VBA-Überlauffehlerfunktion zusammen mit praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. Kopieren Einfügen Funktion in VBA
  2. Teilzeichenfolge-Excel-Funktion
  3. VBA-Index außerhalb des gültigen Bereichs
  4. Excel ISNUMBER Formula

Kategorie: