|
- Sub Macro1()
- Dim arr, brr(1 To 20000, 1 To 6), d, i%, j&, zf$$
- Dim date1#, date2, mc$$, qy$$, rng As Range, n&, s&
- Sheets("汇总").Activate
- date1 = Range("p2"): date2 = Range("p3")
- mc = Range("q3"): qy = Range("r3")
- Set d = CreateObject("scripting.dictionary")
- For i = 1 To 2
- Set rng = Sheets(i).UsedRange.Find("组---明细", lookat:=xlPart)
- If Not rng Is Nothing Then arr = rng.CurrentRegion
- For j = 5 To UBound(arr)
- If arr(j, 2) >= date1 And arr(j, 2) <= date2 And arr(j, 3) Like "*" & mc & "*" And arr(j, 4) Like "*" & qy & "*" Then
- zf = arr(j, 3) & "," & arr(j, 4)
- If Not d.Exists(zf) Then
- s = s + 1
- d(zf) = s
- brr(s, 1) = arr(j, 3)
- brr(s, 2) = arr(j, 4)
- brr(s, Asc(arr(j, 5)) - 62) = arr(j, 6)
- Else
- n = d(zf)
- brr(n, Asc(arr(j, 5)) - 62) = brr(n, Asc(arr(j, 5)) - 62) + arr(j, 6)
- End If
- End If
- Next
- Next
- Range("o5").Resize(s, 6) = brr
- End Sub
复制代码 |
|