|
本帖最后由 戒烟限酒 于 2021-10-15 23:11 编辑
我的表中有54万数据记录,开始我用高级筛选进行数据查询,但是感觉速度不是很快,后改用数组,使用数组罗列符合条件的数据,经过对比验证发现,使用数组的速度比高级筛选还要慢,另外我也尝试过使用sql,sql的速度比高级筛选要快,三者比较而言sql是最快的,但是我用的是免费版本的wps,自己安装的vba7.0,这种情况下当搜索的数据超过65536行后,就不行了。最终只能用高级筛选了。我的代码如下:
Sub 数组查询()
Dim arr(), brr()
arr = Sheet1.UsedRange
ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
For d = 1 To UBound(arr, 2) - 1
If Sheet3.Cells(2, d) = "" Then Sheet3.Cells(2, d) = "*"
yi = Sheet3.Range("a2")
er = Sheet3.Range("b2")
san = Sheet3.Range("c2")
si = Sheet3.Range("d2")
Next
For i = 1 To UBound(arr)
If arr(i, 1) Like yi And arr(i, 2) Like er And arr(i, 3) Like san And arr(i, 4) Like si Then
t = t + 1
For j = 1 To UBound(arr, 2)
brr(t, j) = arr(i, j)
Next
End If
Next
Sheet3.Range("a4").Resize(t, UBound(arr, 2)) = brr()
End Sub
|
|