- Sub test2()
- Dim ar As Variant, br As Variant, i&, j&, mr&, p&, lngct(1) As Long
- With Sheet1
- mr = .Cells(Rows.Count, 1).End(xlUp).Row
- ar = .Range("a1:l" & mr)
- .Range("a1:l" & mr).Sort .Range("a2"), , , , , , , 2
- p = 1
- For i = p + 1 To UBound(ar)
- If Cells(i, 1) <> Cells(i + 1, 1) Then
- .Range("a" & p + 1 & ":l" & i).Sort .Range("f" & p + 1), 2, , , , , , 2
- p = i
- End If
- Next
- br = .Range("a1").Resize(mr, UBound(ar, 2))
- .Range("a1").Resize(mr, UBound(ar, 2)) = ar
- End With
- For i = 2 To UBound(br) - 1
- If br(i, 1) = "男" Then
- lngct(0) = lngct(0) + 1
- br(i, UBound(ar, 2)) = br(i, 1) & "-" & lngct(0)
- Else
- lngct(1) = lngct(1) + 1
- br(i, UBound(ar, 2)) = br(i, 1) & "-" & lngct(1)
- End If
- Next
- Sheet2.Activate
- Sheet2.Range("a1").Resize(UBound(br), UBound(br, 2)) = br
- End Sub
复制代码 |