学习一下字典,打扰了
Sub test()
arr = [a1].CurrentRegion
Set d = CreateObject("scripting.dictionary")
lastr = Cells(Rows.Count, "F").End(xlUp).Row
brr = Range("f1:p" & lastr)
For i = 2 To UBound(arr)
strkey = arr(i, 1) & arr(i, 2)
d(strkey) = ""
Next
For j = 2 To UBound(brr)
For k = 2 To UBound(brr, 2)
If brr(1, k) <> "" Then
y = Year(brr(1, k))
m = Month(brr(1, k))
s = y & "/" & m
For Each vkey In d.keys
If InStr(vkey, s) > 0 And InStr(vkey, brr(j, 1)) Then brr(j, k) = brr(j, k) + 1
Next
End If
Next
Next
[F1].Resize(UBound(brr), UBound(brr, 2)) = brr
End Sub |