2016-04-20 63 views
1

我在Excel VBA寫了一份申請,當它到達這個功能,它有時只有有時會停止,打開了編輯器與之前的「端功能」Excel打開VBA編輯器在處理期間打開。產生錯誤

突出的最後一行
Option Explicit 

Function Get_Special(i_Row, c_Total, v_code As Variant) As Currency 

Dim c_money As Currency 
Dim s_Code As String 
Dim i_Ctr As Integer 

c_money = 0 

If Not IsArrayInitialized(v_code) Then 
    Get_Special = c_money + c_Total 
    Exit Function 
End If 

For i_Ctr = LBound(v_code) To UBound(v_code) 
    Select Case v_code(i_Ctr) 

     Case 1 To 10 

     Case 11 
      If c_Total = 0 Then c_money = Minimum_Charge(i_Row) 
     Case 12 
      c_money = c_money + Plug_Fee(i_Row, Range(rngName(RNM.PLUG)).Column) 
     Case Else 

    End Select 
Next i_Ctr 
'VBA editor opens here, highlighted. No error message is given pressing F5 causes it to finish with no problem. 

Get_Special = c_money 
End Function 

我很茫然

爲了解決以下問題:

的IsArrayInitialized函數「在錯誤恢復下一個」錯誤手ling,然後檢查錯誤號是否爲零,如果不是,則函數返回false。

錯誤是間歇性的。我使用每次輸入的不同數據運行代碼70次,無法再次重新創建錯誤。

我再次檢查,沒有中斷點集。

+0

你對'Case 1 To 10'沒什麼了不起? – findwindow

+0

沒有任何錯誤,編輯器彈出時沒有任何消息,並且突出顯示Get_Special = c_money行。並且它不會一直這樣做 –

+0

案例1到10可能在將來會有一些東西,它最初的確如此。最終用戶遇到錯誤,我可以重新創建一次,但只能重新創建一次。 –

回答

1

調試 - >清除所有調試點。 調試 - >編譯。然後保存該文件。 有時存在幻影調試中斷點。