使用VBA对突出显示的单元格进行排序

时间:2019-06-19 20:45:19

标签: excel vba

我正在尝试根据是否突出显示对单元格进行排序。如果他们在寻找这些行在顶部。

尝试了另一个问题的一些代码,但无法弄清楚。

'sort highlighted and alphabetical
Sub SortColor()

    Dim rngFirstRow As Range
    Dim rng As Range, rngSort As Range
    Dim ws As Worksheet

    Application.ScreenUpdating = False
    Set ws = Sheets("modified_report")
    Set rngFirstRow = ws.Range("K2:M2")
    For Each rng In rngFirstRow.Cells
        With ws.Sort

            Set rngSort = rng.Resize(150, 1)

            .SortFields.Clear
            .SortFields.Add(rng, xlSortOnCellColor, xlDescending, , xlSortNormal). _
                            SortOnValue.Color = RGB(198, 239, 206)
            .SetRange rngSort
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply

        End With
    Next rng
    Application.ScreenUpdating = True
End Sub

如果在K:M列中有突出显示的单元格,那我就是顶部的那一行。

我无法让整行都移到顶部。这段代码似乎只是移动那些单元格,因此使该行的其余部分陷入混乱。

0 个答案:

没有答案