请教高人!VB将xls中列中数据与list中的匹配,最快的方法是?
请教高人!VB将xls中列中数据与list中的匹配,最快的方法是?xls数据量一般都在1000行左右,list中的照片一般都在2000行左右,我操作一次需要20分钟,请问有最快的方法吗?
For i = 1 To xlSheet.range("A65536").End(3).Row
For n = 0 To Me.List1.ListCount - 1
ff = f(Me.List1.list(n)) '截取名字部分
ff1 = Format(xlSheet.Cells(i, 4), "0")
If xlSheet.Cells(i, 3) <> "空地" Then '判断属性部分
GoTo Ei
Else
'Debug.Print xlSheet.Cells(i, 4)
If ff1 = ff Then
Debug.Print i
Debug.Print ff
'List1.RemoveItem (n)
xlSheet.Cells(i, 8) = "图片"
GoTo Ei
End If
End If
Next n
Ei:
Next i
FOR中怎么还用GOTO,应用exitfor
你这个查找对应的,要优化,不清楚你数据有规律没有,有规律要用二分法查找之类的。
再有,你要把XLS和LIST的数据都放数组中,再查找,数组查找要比访问excel单元格快不少。 同上。先把数据读到数组里面,数组排序,然后在数组里查找。采取高效的搜索方法,没必要每个都比较。 多谢!多谢!将数据读取到数组中确实快不少 yswoyh 发表于 2021-12-29 13:56
多谢!多谢!将数据读取到数组中确实快不少
改进算法,检索效率也可以提高。否则是M x N。二分法M x log2(N)。
页:
[1]