0
行の特定の文字列を保持するセルを合計しようとしています。以下は私が思いついたものですが、最初の通貨テキストに達したときに2番目のループでエラーが発生し続けます。VBA:forループで変数を合計
実行時エラー '6':オーバーフロー
'Add Futures Data
Morgan_Stanley_File.Activate
Dim Currency_JPY As Integer: Currency_JPY = 0
Dim Currency_USD As Integer: Currency_USD = 0
Dim Currency_EUR As Integer: Currency_EUR = 0
Dim Currency_GBP As Integer: Currency_GBP = 0
Dim Currency_AUD As Integer: Currency_AUD = 0
For Each MCell In Range("H1:H" & bottomL)
If MCell.Value = "N" And MCell.Offset(0, -3) = "JPY" Then
Currency_JPY = Currency_JPY + MCell.Offset(0, 19).Value
ElseIf MCell.Value = "N" And MCell.Offset(0, -3) = "USD" Then
Currency_USD = Currency_USD + MCell.Offset(0, 19).Value
ElseIf MCell.Value = "N" And MCell.Offset(0, -3) = "EUR" Then
Currency_EUR = Currency_EUR + MCell.Offset(0, 19).Value
ElseIf MCell.Value = "N" And MCell.Offset(0, -3) = "GBP" Then
Currency_GBP = Currency_GBP + MCell.Offset(0, 19).Value
ElseIf MCell.Value = "N" And MCell.Offset(0, -3) = "AUD" Then
Currency_AUD = Currency_AUD + MCell.Offset(0, 19).Value
End If
Next MCell
wb.Activate
Initial_Margin.Select
Range("A" & LastDate).Offset(1, 5).Value = Currency_JPY
Range("A" & LastDate).Offset(1, 6).Value = Currency_USD
Range("A" & LastDate).Offset(1, 7).Value = Currency_EUR
Range("A" & LastDate).Offset(1, 8).Value = Currency_GBP
Range("A" & LastDate).Offset(1, 9).Value = Currency_AUD
任意の考え?
エラーは何ですか?あなたが合計としてintを宣言しているようなデータ型である可能性があり、値が大きすぎるとエラーを投げる可能性があります。おそらく長いか単一のものかを宣言します。 –
どのようなエラーが表示されますか?これは強調表示されている行ですか? "Range(" A "&LastDate).Offset(1,5).Value = Currency_JPY"? – Carol
実行時エラー '6'が表示されます。オーバーフローエラーです。データ型は、一般的な形式の単なる値なので大きすぎてはなりません。 以下の構文に問題がありますか(デバッグ時に強調表示されるエラー)?私は内部的に実行時エラーにつながるループを維持するかどうかは不思議です。 Currency_AUD = Currency_AUD + MCell.Offset(0、19).Valueの –