Live-Forum - Die aktuellen Beiträge
Datum
Titel
25.10.2025 08:21:40
24.10.2025 18:10:41
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler '6': Überlauf

Laufzeitfehler '6': Überlauf
22.06.2021 14:59:50
Winfried
Gruess Gott zusammen,
bei Zahlenwerten von etwa oberhalb 30'000 erhalte ich eine Fehlermeldung "Laufzeitfehler '6': Überlauf" beim VBA Code:
----------------------------------------

Private Sub Schwund()
If Len(TextBoxBruttogewicht) = 0 Then
TextBoxBruttogewicht.Value = 0
End If
If Len(TextBoxNettogewicht) = 0 Then
TextBoxNettogewicht.Value = 0
End If
Me.TextBoxMaske_Schwund.Value = CInt(TextBoxBruttogewicht) - CInt(TextBoxNettogewicht.Value)
End Sub
----------------------------------------
Der Laufzeitfehler sollte lt. meiner Google Recherge mit
dblMaxWert = Application.WorksheetFunction.max(Range(Cells(8, x2), Cells(59, x2)))
oder
ActiveSheet.Range("A7").Value = Application.WorksheetFunction.Sum(Range(Cells(1, 1), (Cells(5, 1))))
zu beheben sein. Klar, das ist mir nicht gelungen.. sonst würde ich ja nicht um Hilfe bitten.
Hat jemand eine Idee wie ich obiges VBA anpassen muss?
Vielen Dank für jedweden Tipp!
Schoene Gruesse
Winfried
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler '6': Überlauf
22.06.2021 15:11:46
Daniel
Hi
nimm mal besser CLng anstelle von CInt.
beim Datentyp Long(integer) ist der Zahlenraum deutlich größer.
(Integer: 32bit = von -2^15 bis 2^15-1; Long: 64 bit = von -2^31 bis 2^31-1)
Gruß Daniel
AW: Laufzeitfehler '6': Überlauf
22.06.2021 15:31:52
Winfried
1000 Dank Daniel!
Dank Deiner Hilfe läuft es jetzt absolut problemlos bei all meinen Werten.
Schoene Gruesse
Winfried
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler '6': Überlauf in Excel VBA beheben


Schritt-für-Schritt-Anleitung

Um den Laufzeitfehler '6': Überlauf in Deinem VBA-Code zu beheben, folge diesen Schritten:

  1. Öffne das VBA-Editor-Fenster: Drücke ALT + F11, um den Editor zu öffnen.
  2. Identifiziere die problematische Zeile: In Deinem Code könnte die Zeile, die den Fehler verursacht, so aussehen:
    Me.TextBoxMaske_Schwund.Value = CInt(TextBoxBruttogewicht) - CInt(TextBoxNettogewicht.Value)
  3. Ändere den Datentyp: Ersetze CInt durch CLng, um den größeren Wertebereich des Long-Datentyps zu nutzen:
    Me.TextBoxMaske_Schwund.Value = CLng(TextBoxBruttogewicht) - CLng(TextBoxNettogewicht.Value)
  4. Speichere und teste den Code: Schließe den VBA-Editor und führe den Code erneut aus, um zu überprüfen, ob der Fehler behoben ist.

Häufige Fehler und Lösungen

  • Fehlermeldung: "Laufzeitfehler '6': Überlauf": Dieser Fehler tritt auf, wenn Du versuchst, einen Wert zu speichern, der den maximalen Bereich des Datentyps überschreitet. Verwende CLng anstelle von CInt, um dies zu verhindern.

  • Falsche Datentypen: Stelle sicher, dass die Werte, die Du in die TextBoxen eingibst, tatsächlich numerisch sind. Andernfalls kann es zu einem Überlauf kommen.


Alternative Methoden

Wenn Du weiterhin Probleme mit dem Überlauf hast, kannst Du folgende Alternativen ausprobieren:

  • Verwende verschiedene Datentypen: Anstelle von Integer oder Long kannst Du auch Double verwenden, um noch größere Werte zu verarbeiten:

    Me.TextBoxMaske_Schwund.Value = CDbl(TextBoxBruttogewicht) - CDbl(TextBoxNettogewicht.Value)
  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um den Überlauf zu erkennen und entsprechend darauf zu reagieren:

    On Error GoTo Fehlerbehandlung
    ' Dein Code
    Exit Sub
    
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du den Laufzeitfehler 6 in einem VBA-Projekt angehen kannst:

Private Sub Schwund()
    If Len(TextBoxBruttogewicht) = 0 Then
        TextBoxBruttogewicht.Value = 0
    End If
    If Len(TextBoxNettogewicht) = 0 Then
        TextBoxNettogewicht.Value = 0
    End If
    ' Verwende CLng anstelle von CInt
    Me.TextBoxMaske_Schwund.Value = CLng(TextBoxBruttogewicht) - CLng(TextBoxNettogewicht.Value)
End Sub

Dieses Beispiel zeigt, wie Du sicherstellen kannst, dass Deine Berechnung korrekt ist, ohne den Laufzeitfehler 6 zu verursachen.


Tipps für Profis

  • Vermeide magische Zahlen: Nutze Konstanten oder Variablen anstelle von direkten Zahlen in Deinen Berechnungen, um die Lesbarkeit und Wartbarkeit Deines Codes zu erhöhen.

  • Teste regelmäßig: Führe Deinen Code regelmäßig mit verschiedenen Eingabewerten aus, um sicherzustellen, dass keine Überlaufprobleme auftreten.

  • Dokumentiere Deinen Code: Halte fest, warum Du bestimmte Datentypen gewählt hast und welche Werte erwartet werden. Das hilft anderen (oder Dir selbst) bei der späteren Wartung.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen CInt und CLng? CInt konvertiert Werte zu einem Integer, der einen Bereich von -32.768 bis 32.767 hat. CLng konvertiert zu einem Long und hat einen viel größeren Bereich (-2.147.483.648 bis 2.147.483.647).

2. Wie kann ich den Laufzeitfehler 6 auch in anderen Excel-Versionen beheben? Die Lösung bleibt gleich, unabhängig von der Excel-Version. Achte darauf, dass Du die richtigen Datentypen verwendest und teste den Code, um sicherzustellen, dass der Fehler nicht mehr auftritt.

3. Was mache ich, wenn der Fehler weiterhin auftritt? Überprüfe, ob andere Teile des Codes ähnliche Berechnungen durchführen und möglicherweise auch einen Überlauf verursachen. Implementiere eine Fehlerbehandlung, um die Ursachen besser zu identifizieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige