VBA を使用して売上計算機のランタイム エラー 6 を解決する最適な方法は何ですか?

VBA を使用して売上計算機のランタイム エラー 6 を解決する最適な方法は何ですか?

私は複数の店舗のデータ セットを持っており、各店舗を個別に計算できるようにしたいと考えています。

売上は日本円で、売上ごとに千単位になることに注意してください。そこで、次のコードを 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

その結果、私はruntime e error 6

これを少しいじってみたところ、結果の文字数が多すぎることが原因だとわかりました。最終的に、円を米ドルに変換すると、コードは機能しました。

結果が JPY のままになり、手動で USD に変換する必要がないように、これを行うよりエレガントな方法があるかどうかを知りたいです。

答え1

「合計」データ型を Integer から Long に変更します。Integer が保持できる範囲を超えていると思われます。

関連情報