アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。
もしも、3万より小さい場合 → 承認1
    3万より大きく、10万より小さい場合 → 承認2
    10万以上は → 承認3
としたいのですがオーバーフローします。
根本的におかしいのでしょうか?
ご教授ください。
宜しくお願い致します。

Sub 最終承認者() '承認者判定
Dim y As Long
Dim i As Long
Dim 条件金額 As Integer
y = Sheets("スポット一覧").Range("AZ" & Rows.Count).End(xlUp).Row
With Sheets("スポット一覧")
For i = 7 To y
条件金額 = .Range("BE" & i).Value
If 条件金額 < 30000 Then
Range("BF" & i).Value = "承認1"

ElseIf 条件金額 >= 30000 And 条件金額 <= 100000 Then
Range("BF" & i).Value = "承認2"
ElseIf .Range("BE" & i) > 100000 Then
Range("BF" & i).Value = "承認3"
End If
Next i
End With
End Sub

質問者からの補足コメント

  • へこむわー

    条件金額 = .Range("BE" & i).Value ここでオーバーフローします。

      補足日時:2021/11/01 09:44

A 回答 (1件)

> Dim 条件金額 As Integer



Integer は
32,768 〜 32,767
の範囲の整数です。

その範囲から外れた値を代入しようとしたら
オーバーフローのエラーになります。

【参考】
データ型の概要
https://docs.microsoft.com/ja-jp/office/vba/lang …
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!