使用vba自定义排序合并标头

时间:2016-11-15 16:22:02

标签: excel vba excel-vba

我有2块数据集我正在尝试自定义排序。对于每个块,我想按照食物分类,然后按食物2。

我尝试过使用宏,但由于范围每周不同,因此不起作用。另一件事是有时数据在第一个块和第二个块之间有超过1个空白行。 *如果我合并了标题,它就不会排序。

这是我到目前为止所说的,但它说我有一个合并的标题,不会为我排序。

Sub Datasort()
Dim TopLeft As Range
Dim SortRange As Range

Set TopLeft = Range("B4")
Do
    Set SortRange = Range(Range(TopLeft, TopLeft.End(xlDown)), TopLeft.End(xlToRight))
    SortRange.Select 
    SortRange.Sort Key1:=Range("B4"), Order1:=xlAscending, Key2:=Range("D4") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom
    Set TopLeft = TopLeft.End(xlDown).End(xlDown)
Loop Until TopLeft.Row = ActiveSheet.Rows.Count
End Sub

请看下面的最终结果。

enter image description here

0 个答案:

没有答案