Sub test()
Dim d As Object
Set d = CreateObject("scripting.dictionary")
ar = Sheet1.[a1].CurrentRegion
ReDim br(1 To UBound(ar), 1 To UBound(ar, 2))
For i = 2 To UBound(ar)
If Trim(ar(i, 1)) = "数学" And Format(ar(i, 2), "yyyy/m") >= "2017/1" And Format(ar(i, 2), "yyyy/m") <= "2018/1" And ar(i, 3) >= 250 And ar(i, 3) <= 350 And (InStr(ar(i, 4), "你") > 0 Or InStr(ar(i, 5), "你") > 0) Then
s = Trim(ar(i, 1)) & "|" & Trim(ar(i, 2)) & "|" & Trim(ar(i, 3)) & "|" & Trim(ar(i, 4)) & "|" & Trim(ar(i, 5))
t = d(s)
If t = "" Then
k = k + 1
d(s) = k
t = k
For j = 1 To UBound(ar, 2)
br(k, j) = ar(i, j)
Next j
End If
End If
Next i
With Sheet2
.UsedRange.Offset(1) = Empty
.[a2].Resize(k, UBound(br, 2)) = br
End With
End Sub
|