VBA在Excel中创建组,然后对每个组进行排序

时间:2014-01-06 21:26:32

标签: excel excel-vba vba

我有一份优秀的零件清单以及购买时的清单。零件列在4行中。第一行是所有现有的摘要。接下来的三行表示每个购买价格的现有数量。我有超过200个部分,我知道如何手动分组它们,但我有兴趣编写VBA代码,它将为部件号中的每个更改创建一个组。然后,一旦分组,在该组中,我想要底部3行从最旧到最新排序,如果有任何空白留在组的底部。

Part No.    Part Description    On-Hand  Price      Date      Ordered   Bol #   
55 NIT            NC               21                   
55 NIT            NC               10    15.00      09/18/13    15  115352-00
55 NIT            NC               6     15.10      10/09/13    6   135216-00
55 NIT            NC               5     15.05      11/17/13    5   156849-00  
404 R             cooling          2                    
404 R             cooling          1     112.00     08/29/13    2   147859-00
404 R             cooling          1     102.82     09/18/13    1   159568-00
404 R             cooling          0     102.82 

@ARich这就是我对分组的看法。我不认为这是最有效的方法,但它可以完成已知数量的零件。我不知道如何编码它来获取所有数据并运行循环,直到它覆盖了所有行。

Sub Makegroups4()

'   create a group out of every 4 rows.  Skip the first row so it still shows and group the other three rows.
'
'   i will be used to identify 1st row in group

    i = 5

    For x = 1 To 175

        Rows(i & ":" & (i + 2)).Select
        Selection.Rows.Group

        i = i + 4

    Next



End Sub

1 个答案:

答案 0 :(得分:0)

我建议使用数据透视表,行标签中的Part No.高于Date,Σ值的平均值为Price