У меня есть набор данных по нескольким магазинам, и я пытаюсь рассчитать каждый магазин независимо.
Важно отметить, что продажи указаны в японских иенах, поэтому каждая продажа измеряется в тысячах. Поэтому я запустил следующий код в 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
Измените тип данных «total» с Integer на Long. Полагаю, вы превышаете то, что может вместить Integer.