Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2119|回复: 1

[已解决]排序后如何取每个排序的前两行

[复制链接]
发表于 2010-5-20 14:40 | 显示全部楼层 |阅读模式
pb1us0E9.rar (8.18 KB, 下载次数: 1)
发表于 2010-5-20 14:59 | 显示全部楼层    本楼为最佳答案   

Sub pmc()
    Dim i&, ArrYS, ArrJG, K&, j%, Ct&
    Application.ScreenUpdating = False
    ArrYS = Sheet1.Range("A2:C" & Sheet1.[a65536].End(xlUp).Row)
    [E2:G10000].Clear
    ReDim ArrJG(1 To 3, 1 To 1)
    K = 1
    Ct = 1
    For j = 1 To 3
        ArrJG(j, 1) = ArrYS(1, j)
    Next j
    For i = 2 To UBound(ArrYS)
        If ArrYS(i, 3) = ArrYS(i - 1, 3) Then
            Ct = Ct + 1
        Else
            Ct = 1
        End If
        If Ct < 3 Then
            K = K + 1
            ReDim Preserve ArrJG(1 To 3, 1 To K)
            For j = 1 To 3
                ArrJG(j, K) = ArrYS(i, j)
            Next j
        End If
    Next i
    Range("E2").Resize(UBound(ArrJG, 2), 3) = Application.Transpose(ArrJG)
    Application.ScreenUpdating = True
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-16 16:26 , Processed in 0.238011 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表