返回列表 上一主題 發帖

[發問] 請問:出現 執行階段錯誤"11" 除以零 如何處理

[發問] 請問:出現 執行階段錯誤"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

問題.JPG (41.86 KB)

問題.JPG

回復 1# lone_tiger0303

判斷式中加入判斷分母是否為0
學海無涯_不恥下問

TOP

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

TOP

回復 3# lone_tiger0303


    試試
m = Application.Max(0, Application.RoundUp((.Range("f1") - (B + B.Offset(, 1))) / B.Offset(, 1), 0))
學海無涯_不恥下問

TOP

        靜思自在 : 靜坐常恩己過、閒談莫論人非。
返回列表 上一主題