我有一個非常簡單的UDF程序。我有一條線,它分兩個數字。我需要讓IFERROR在發生錯誤時返回一個值。 在我的程序中,Testrange(1)包含90,而testrange(4)包含0. 我的UDF崩潰並返回一個Value錯誤。Excel VBA Application.iferror()不處理div/0錯誤
這是我的代碼。
Function myTestRange(TestRange As Range, myvol As Integer, myType As String) As Variant
myTestRange = Application.IfError(TestRange(1)/TestRange(4), 4567)
End Function
我在查看IFERROR函數的微軟頁面,它似乎列出了div/0是它處理的錯誤之一。
感謝您的任何幫助。 Rich
根本問題是,IFERROR是一個工作表語句,因此它會識別'CELL'是否有錯誤。如果數學有錯誤,則不行。 – kaza
TestRange(1)/ TestRange(4)會產生一個運行時錯誤(除以0) - 「IfError」沒有修復或處理這個,它在VBA中很少用到。測試0或使用錯誤處理。 –
我明白你在說什麼,但請檢查以下鏈接,並讓我知道你是否認爲我錯過了某些東西:它似乎說它會起作用。 https://msdn.microsoft.com/en-us/vba/excel-vba/articles/worksheetfunctionfunction-iferror-method-excel – rtemen