Board logo

標題: [發問] 請問:出現 執行階段錯誤"11" 除以零 如何處理 [打印本頁]

作者: lone_tiger0303    時間: 2010-7-30 11:59     標題: 請問:出現 執行階段錯誤"11" 除以零 如何處理

執行以下程式會出現  【執行階段錯誤"11"  除以零】訊息視窗
m = Application.Max(0, Round((.Range("f1") - (B + B.Offset(, 1))) / B.Offset(, 1), 0))
上面程式碼為錯誤描述~~請問要如何修正勒

執行檔案內容如圖檔


Private Sub CommandButton1_Click()
With Sheet1

Set Rng = .Range(.[D5], .[D65536].End(xlUp))

       For Each B In Rng

         If IsDate(B) And (B + B.Offset(, 1) < .Range("f1")) Then

         m = Application.Max(0, Round((.Range("f1") - (B + B.Offset(, 1))) / B.Offset(, 1), 0))

         B.Offset(, 3) = B + B.Offset(, 1) + m * B.Offset(, 1)

         ElseIf IsDate(B) And (B + B.Offset(, 1) > .Range("f1")) Then

         B.Offset(, 3) = B + B.Offset(, 1)

         End If

       Next

End With
End Sub
作者: Hsieh    時間: 2010-7-30 15:02

回復 1# lone_tiger0303

判斷式中加入判斷分母是否為0
作者: lone_tiger0303    時間: 2010-7-30 15:52

再請教一下,以下程式
m = Application.Max(0, Round((.Range("f1") - (B + B.Offset(, 1))) / B.Offset(, 1), 0))
中的round表是四捨五入
我希望能以無條件進入
不知要用哪一個函數(roundup好像不能用)
謝謝
作者: Hsieh    時間: 2010-7-30 19:00

回復 3# lone_tiger0303


    試試
m = Application.Max(0, Application.RoundUp((.Range("f1") - (B + B.Offset(, 1))) / B.Offset(, 1), 0))




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)