excel vba:如何根据列值对行组进行排序

时间:2015-12-17 06:45:54

标签: excel vba excel-vba sorting

我的excel中包含以下数据。我的要求是根据降序排列的预测年龄对一组行进行排序。我已经在excel中尝试了内置的排序功能,但它不符合我的要求。

例如,假设我的预测年龄在GlobalFilters.Filters.Add(new MyAuthorizationFilter()) = 17且Range("BO54") = 19,Range("BO88")值比另一个大,所以它应该在顶部。 Range("BO88")的群组为Range("BO88")

简而言之,我想要第88行,并且Range("A78:CA91")的行组位于顶部。有没有办法在Range("A78:CA91")

中排序数据的情况下执行此操作



enter image description here

1 个答案:

答案 0 :(得分:0)

好吧,我可以建议你一种代码可能很长的方法。

首先,您可以在所有行上运行循环,条件是"Description" = "Forecast Age"然后将其粘贴到新工作表中。这将为您提供每"house"age行的列表。 Sort它基于年龄并添加一列,根据年龄分配rank()

在此之后,在主数据中添加一个排名列,并将vlookup上面获得的排名添加到每个房子,然后最后根据这些排名对整个表进行排序。 你应该得到你期望的结果。

这只是一个抬头。您可以优化流程并即兴创作。