¿Cuál es la mejor manera de resolver un error de tiempo de ejecución 6 en la calculadora de ventas con VBA?

¿Cuál es la mejor manera de resolver un error de tiempo de ejecución 6 en la calculadora de ventas con VBA?

Tengo un conjunto de datos de varias tiendas y mi intento es poder calcular cada tienda de forma independiente.

Es importante tener en cuenta que las ventas están en yenes japoneses y, por lo tanto, son de miles por cada venta. Entonces ejecuté el siguiente código en VBA.

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

Como resultado he recibidoruntime e error 6

Modifiqué un poco esto y me di cuenta de que el resultado tiene demasiados caracteres. Finalmente, lo que hice fue convertir yenes a dólares estadounidenses y ¡el código funcionó!

Quiero saber si hay una forma más elegante de hacer esto para que el resultado permanezca en JPY y no tenga que convertir manualmente a USD.

Respuesta1

Cambie su tipo de datos "total" de Integer a Long, supongo que está desbordando lo que Integer puede contener.

información relacionada