声明并填充2个数组(sheet1TempArray和sheet2TempArray),两者的大小相同。下面代码中显示的所有arrarys都声明为public sheet1TempArray(), sheet2TempArray() as String
。
我想检查sheet1TempArray中的元素是否在sheet2TempArray中,因此我有以下函数。
Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
IsInArray = Not IsError(Application.Match(stringToBeFound, arr, 0))
End Function
我有另一个调用此函数的子
For c = 1 To Application.CountA(sheet2TempArray)
If IsInArray(Trim(CStr(sheet2TempArray(c))), sheet1TempArray) = False Then
tempNotFoundArray(c) = CStr(sheet2TempArray(c))
End If
Next c
然而,它继续显示此错误(sheet2TempArray(c))=。请问我的循环方法是错误的吗?
答案 0 :(得分:1)
我发现了我之前应该意识到的问题。
For c = 1 To (Application.CountA(sheet2TempArray)-1)
在for循环中包含-1将解决问题。