|
Sub gsxx()
Dim i, ir, arr, yf
Dim dc As Object, dcx As Object
Dim dd1, dd2
Dim brr(), p, m
Set dc = CreateObject("scripting.dictionary")
Set dcx = CreateObject("scripting.dictionary")
With Sheet2
ir = .Range("c100000").End(xlUp).Row
arr = .Range("c2:h" & ir)
End With
dd1 = Range("b1")
dd2 = Range("b2")
For i = 1 To UBound(arr)
If arr(i, 6) >= dd1 And arr(i, 6) <= dd2 Then
yf = Month(arr(i, 6))
dc(yf & "|" & arr(i, 1)) = dc(yf & "|" & arr(i, 1)) + 1
dcx(arr(i, 1)) = ""
End If
Next
p = dcx.keys
ReDim brr(1 To UBound(p) + 1, 1 To 13)
For i = 0 To UBound(p)
m = m + 1
brr(m, 1) = p(i)
For j = 2 To 13
brr(m, j) = dc((j - 1) & "|" & p(i))
Next
Next
ir = Range("a100000").End(xlUp).Row
If ir > 6 Then
Range("a7:m" & ir).ClearContents
End If
Range("a7").Resize(m, 13) = brr
Set dc = Nothing
Set dcx = Nothing
End Sub
|
|