|
楼主 |
发表于 2022-5-14 22:07
|
显示全部楼层
看不太懂VBA,我从下午就在研究这个代码
x = [a3] //变量X=查询的起点
y = [b3] //变量Y=查询的终点
Application.ScreenUpdating = False //不让刷新
Sheets("数据查询表1降序").UsedRange.Offset(4).ClearContents //删除数据查询表1降序 第4行以下的数据
arr = Sheets("台账1降序").UsedRange //数组arr=整个台账1降序
r = 0 //变量r赋值0
For j = 3 To UBound(arr) //for循环,从3开始到aar集合结束
If x >= arr(j, 4) And arr(j, 2) >= x Then //如果 查询起点 大于等于(某段落终点) (某段落起点)大于等于 查询起点
r = r + 1 //那么变量r+1
For i = 1 To UBound(arr, 2) //看不懂了............
arr(r, i) = arr(j, i)
Next i
arr(r, 2) = x
x = arr(j, 4)
arr(r, 5) = arr(r, 2) - arr(r, 4)
If y >= arr(j, 4) Then
arr(r, 4) = y
arr(r, 5) = arr(r, 2) - arr(r, 4)
Exit For
End If
End If
Next j
If r > 0 Then
[a5].Resize(r, UBound(arr, 2)) = arr
End If
End Sub |
|