テキストボックスへ入力された正・負の値で演算するには?

Question 60.96 Excel VBA Borad (掲示板)より Previous Next
こんにちは。すごく単純なところでひっかかってますが、自分の中では煮詰まってしまったので、お願いします。
Dim Hあわせ As Long
Dim H合計 As Long

Private Sub Textbox1_Change()
    Hあわせ = Textbox1.Text
    H合計 = H合計 + Hあわせ
End Sub
という、プロシージャで、Textbox1に正の整数が入ったらH合計にその数を足して、負の整数が入ったらH合計からその数を引きたいのですが、
Textbox1に "-1" というように、マイナスを入力しようとすると、
Hあわせ = Textbox1.Text のところで、"型が一致しない" というエラーがかかります。
0以上の正の整数だとうまくいくのですが・・・。 どうぞよろしくお願いします。
Answer   2003.7.7 もてもて
こんにちは、もてもてです。
テキストボックスの値は、文字型です。文字をlong型に代入しようとしているのでエラーになります。
Changeイベントは、1文字入力ごとに発生しますので、BeforUpdateのほうが良いでしょう。
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim Hあわせ As Long
Dim H合計 As Long
    Hあわせ = Int(TextBox1.Text)
    H合計 = H合計 + Hあわせ
End Sub
ありがとうございました
もてもてさん、こんにちは。いつもありがとうございます。おかげさまで解決できました。どうもありがとうございました。

 

Excel VBA Macro