私は複数の店舗のデータ セットを持っており、各店舗を個別に計算できるようにしたいと考えています。
売上は日本円で、売上ごとに千単位になることに注意してください。そこで、次のコードを 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 が保持できる範囲を超えていると思われます。