我一直在努力,爲什麼下面的代碼,通過循環第三次我得到一個錯誤類型時行「對於lCount = 0至MAXCOUNT」正在13不匹配,找出評估。我原本以爲這個問題是從vArray獲得價值,但測試顯示它是由「For」行觸發的。我不知道在循環處理過程中類型將如何改變。謝謝!VB6類型不匹配在循環條件
Public Function FindCodeIndex(vArray As Variant, MatchValue As String) As Integer
''This function locates a value in a combo box returning the index or -1 if not found
Dim lCount As Long
Dim maxCount As Long
Dim arrayStr As String
On Error GoTo ErrorHandler
maxCount = UBound(vArray)
For lCount = 0 To maxCount
arrayStr = vArray(1, lCount)
If UCase$(arrayStr) = UCase$(MatchValue) Then
FindCodeIndex = Int(lCount)
Exit Function
End If
Next lCount
FindCodeIndex = -1
Exit Function
ErrorHandler:
MsgBox "Unexpected error in frmComment::FindCodeIndex()" & vbCrLf & _
"Error Code: " & CStr(Err.Number) & " Error Desc: " & Err.Description
您不會將'arrayStr'賦值給任何值。你確定這不是問題嗎? – Dan 2009-11-11 23:09:55
添加了任務(從內存,不在工作PC現在)到arrayStr。測試顯示循環在第三遍的For語句失敗。 – Timbuck 2009-11-12 01:22:16
蒂姆,你可以用當地人的窗口看到,在第三道次所用的陣列中的數據,並編輯您的問題,包括這個信息。 – 2009-11-14 06:32:28