|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
测试一下,只要把 If arr(i, 5) >= "2019/1/1" Then屏蔽,结果与6楼的完全一样,也是237个。- Sub test()
- Dim i&, j&, arr, brr, arr2, k, d As Object
- Set d = CreateObject("Scripting.Dictionary")
- With Sheets(1)
- .Activate
- arr2 = Array("???????", "???????", "?????", "????", "???????")
- arr = .Range("a2").Resize(.Cells(Rows.Count, 1).End(xlUp).Row, .Cells(1, Columns.Count).End(xlToLeft).Column)
- ReDim brr(1 To UBound(arr), 1 To 5)
- End With
- For i = 1 To UBound(arr)
- If Not (d.Exists(arr(i, 4))) Then
- ' If arr(i, 5) >= "2019/1/1" Then
- k = k + 1
- d(arr(i, 4)) = k
- brr(d(arr(i, 4)), 1) = arr(i, 1)
- brr(d(arr(i, 4)), 2) = arr(i, 2)
- brr(d(arr(i, 4)), 3) = arr(i, 3)
- brr(d(arr(i, 4)), 4) = arr(i, 4)
- brr(d(arr(i, 4)), 5) = arr(i, 5)
- ' End If
- End If
- Next
- With Sheets(2)
- .Activate
- .Range("a1").Resize(1, 5) = arr2
- .Range("a2").Resize(UBound(brr), UBound(brr, 2)) = brr
- End With
- End Sub
复制代码 |
|