Option Explicit
Sub test()
Dim arr, i, j, p, m, n
arr = Sheets("操作记录").[a1].CurrentRegion.Offset(1).Resize(, 4).Value
For i = 1 To UBound(arr, 1) - 1
If arr(i, 4) <> "追加" Then
m = m + 1
arr(m, 3) = arr(i, 3): arr(m, 4) = Format(arr(i, 3), "yyyy年mm月")
End If
Next
Call bsort(arr, 1, m, 3, 4, 4)
ReDim brr(1 To 2, 1 To m)
For i = 1 To m
If arr(i, 4) <> arr(i + 1, 4) Then
n = n + 1
brr(1, n) = arr(i, 4): brr(2, n) = i - p
p = i
End If
Next
With Sheets("月度统计")
.Rows(2).Resize(2).ClearContents
.[a2].Resize(2, n) = brr
End With
End Sub
Function bsort(arr, first, last, left, right, key)
Dim i, j, k, t
For i = first To last - 1
For j = first To last + first - 1 - i
If arr(j, key) > arr(j + 1, key) Then
For k = left To right
t = arr(j, k): arr(j, k) = arr(j + 1, k): arr(j + 1, k) = t
Next
End If
Next
Next
End Function |