Wie behebt man einen Laufzeitfehler 6 im Umsatzrechner am besten mit VBA?

Wie behebt man einen Laufzeitfehler 6 im Umsatzrechner am besten mit VBA?

Ich habe einen Datensatz mehrerer Geschäfte und mein Versuch besteht darin, jedes Geschäft unabhängig berechnen zu können.

Wichtig zu beachten ist, dass die Verkäufe in japanischen Yen erfolgen und somit bei jedem Verkauf mehrere Tausend betragen. Daher habe ich den folgenden Code in VBA ausgeführt.

Dim siteID As String, total As Integer, sheet As Worksheet, i As Integer
total = 0
siteID = InputBox("Enter the SiteID name (case sensitive)")
For Each sheet In Worksheets
    For i = 2 To 1000
        If sheet.Cells(i, 2).Value = siteID Then
            total = total + sheet.Cells(i, 26).Value
        End If
    Next i
Next sheet
MsgBox "total sales of " & siteID & " is " & total

Als Ergebnis erhielt ichruntime e error 6

Ich habe ein bisschen damit herumgespielt und festgestellt, dass es daran liegt, dass das Ergebnis zu viele Zeichen hat. Schließlich habe ich Yen in USD umgerechnet und dann hat der Code funktioniert!

Ich möchte wissen, ob es eine elegantere Möglichkeit gibt, dies zu tun, sodass das Ergebnis in JPY bleibt und ich es nicht manuell in USD umrechnen muss.

Antwort1

Ändern Sie Ihren „Gesamt“-Datentyp von „Integer“ in „Long“. Ich vermute, Sie überschreiten die Kapazität des Integer-Datentyps.

verwandte Informationen