作者areric ()
看板Visual_Basic
標題[VBA ] 溢位問題
時間Wed May 12 12:24:43 2021
請教各位大大
目前想寫個簡易計算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還請版上大大指導
感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.166.109 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1620793485.A.69A.html
1F:推 LPH66: 因為 c 沒有值, Val 之後變成 0 了 05/12 21:07
2F:→ areric: 感謝大大 終於找到問題了 那除了預先在格子內填入數值外 05/13 09:17
3F:→ areric: 還有其他方法嗎? 謝謝 05/13 09:17
4F:→ MOONRAKER: 你有聽過if嗎 05/13 09:51
5F:→ waiter337: Private Sub a_Change() 05/14 11:10
6F:→ waiter337: call cal 05/14 11:11
7F:→ waiter337: end sub 05/14 11:11
8F:→ waiter337: sub cal() 05/14 11:11
9F:→ waiter337: if a.Text="" or a.Text = 0 then exit sub 05/14 11:12
10F:→ waiter337: if b.Text="" or b.Text = 0 then exit sub 05/14 11:12
11F:→ waiter337: if c.Text="" or c.Text = 0 then exit sub 05/14 11:13
12F:→ waiter337: d.Text = Val(a.Text) * Val(b.Text) / Val(c.Text) 05/14 11:13
13F:→ waiter337: end sub 05/14 11:13
14F:→ waiter337: 另外textbox的IMEmode 要改成8 05/14 11:14
15F:→ waiter337: 如果想全靠鍵盤操作 05/14 11:15
16F:→ waiter337: 可以把前三行取消 05/14 11:15
17F:→ waiter337: 改用 05/14 11:16
18F:→ waiter337: Private Sub a_KeyDown(ByVal KeyCode As MSFors.Retur 05/14 11:17
19F:→ waiter337: nInteger, ByVal Shift As Integer) 05/14 11:17
20F:→ waiter337: If KeyCode = 13 Or KeyCode = 9 Then 05/14 11:17
21F:→ waiter337: Application.EnableEvents = False 05/14 11:17
22F:→ waiter337: Call cal 05/14 11:17
23F:→ waiter337: KeyCode = 0 05/14 11:18
24F:→ waiter337: b.SetFocus 05/14 11:18
25F:→ waiter337: Application.EnableEvents = True 05/14 11:18
26F:→ waiter337: End If 05/14 11:18
27F:→ waiter337: End Sub\ 05/14 11:18
28F:→ waiter337: \ 刪掉 不小心按到 05/14 11:19