2013-05-31 56 views
0

我得到了第3行上的类型不匹配的VBA错误,但如果阵列比A3:A52更短,它会很好地工作。是否因为阵列大小有限?大型阵列的类型不匹配错误

Dim varry() As Variant 
varry = [A2:A520000&G2:G520000] 
UserForm1.Label1.Caption = Application.Match(CLng(DateValue("5/14/2013")) & "YUM", varry, 1) & " " & Timer - t 
UserForm1.Show vbModeless 
DoEvents 
End Sub 

回答

2

当通过Array时,其限制为Application.Match。它将处理的最大尺寸数组长度为65536。

如果传递一个Range,它会处理更长的数据:如

Dim r As Range 
Set r = [A1:A520000] 
result = Application.Match(YourSearchTerm, r, 1) 

我知道,对于你的情况不是一个完整的解决方案,给您连接两个范围到数组,但你可以设计一个解决方案,重构您的需求的更广泛的应用...