上一篇文章介绍了通过筛选的方法,制作明细表的VBA代码。
我们也可以通过循环的方法来制作明细表,也就是对数据的每一行进行判断,把满足条件的数据复制到查询表中,因此需要使用 FOR NEXT 语句和 IF 判断语句。
下面是参考代码,具体案例数据,请看上篇文章:明细表制作的VBA方法(一)(提供直接套用的VBA代码,附练习案例)
Sub 循环法制作明细表()
Dim ws As Worksheet
Dim wsData As Worksheet
Dim rng As Range
Dim i As Long, n As Long, p As Long
Dim cus As String, date1 As Date, date2 As Date
Set wsData = ThisWorkbook.Worksheets("销售清单")
Set ws = ThisWorkbook.Worksheets("查询表")
With ws
.Range("A7:I1000").Clear
cus = .Range("B2")
date1 = .Range("B3")
date2 = .Range("B4")
End With
With wsData
n = .Range("A10000").End(xlUp).Row
p = 7
For i = 2 To n
If .Range("B" & i) = cus _
And .Range("A" & i) >= date1 _
And .Range("A" & i) <= date2 Then
Set rng = .Range("A" & i & ":I" & i)
rng.Copy Destination:=ws.Range("A" & p)
p = p + 1
End If
Next i
End With
MsgBox "查找完毕", vbInformation + vbOKOnly, "查找"
End Sub
-------------------
(未完待续,获取素材请关注微信公众号,回复“VBA明细表”)
---------------
函数公式精选文章

