[VBA ] 溢位問題

作者: areric   2021-05-12 12:24:43
請教各位大大
目前想寫個簡易計算excel數據的程式
有四個textbox
textbox 1~3(a、b、c)分別顯示從excel抓取的數據或自行打上數據
textbox 4(d) 則計算textbox 1~3的數據後顯示出來
我的寫法是這樣:
當a出現數據後 d顯示計算結果
Private Sub a_Change()
d.Text = Val(a.Text) * Val(b.Text) / Val(c.Text)
End Sub
結果出現 執行階段錯誤'6':溢位
我剛學VBA還請版上大大指導
感謝!
作者: LPH66 (-6.2598534e+18f)   2021-05-12 21:07:00
因為 c 沒有值, Val 之後變成 0 了
作者: areric   2021-05-13 09:17:00
感謝大大 終於找到問題了 那除了預先在格子內填入數值外還有其他方法嗎? 謝謝
作者: MOONRAKER (㊣牛鶴鰻毛人)   2021-05-13 09:51:00
你有聽過if嗎
作者: waiter337 (給開司一罐蘇格登)   2021-05-14 11:10:00
Private Sub a_Change()call calend subsub cal()if a.Text="" or a.Text = 0 then exit subif b.Text="" or b.Text = 0 then exit subif c.Text="" or c.Text = 0 then exit subd.Text = Val(a.Text) * Val(b.Text) / Val(c.Text)end sub另外textbox的IMEmode 要改成8如果想全靠鍵盤操作可以把前三行取消改用Private Sub a_KeyDown(ByVal KeyCode As MSFors.ReturnInteger, ByVal Shift As Integer)If KeyCode = 13 Or KeyCode = 9 ThenApplication.EnableEvents = FalseCall calKeyCode = 0b.SetFocusApplication.EnableEvents = TrueEnd IfEnd Sub\\ 刪掉 不小心按到

Links booklink

Contact Us: admin [ a t ] ucptt.com