[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