excel vba排序问题

发布网友

我来回答

2个回答

热心网友

Sub Macro3()
    Range(Cells(2, "a"), Cells(Cells(Rows.Count, "a").End(xlUp).Row, "a")).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(Cells(Rows.Count, "a").End(xlUp).Row, "a"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, "a"), Cells(Cells(Rows.Count, "a").End(xlUp).Row, "a"))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range(Cells(2, "b"), Cells(Cells(Rows.Count, "b").End(xlUp).Row, "b")).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(Cells(Rows.Count, "b").End(xlUp).Row, "b"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, "b"), Cells(Cells(Rows.Count, "b").End(xlUp).Row, "b"))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range(Cells(2, "c"), Cells(Cells(Rows.Count, "c").End(xlUp).Row, "c")).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(Cells(Rows.Count, "c").End(xlUp).Row, "c"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, "c"), Cells(Cells(Rows.Count, "c").End(xlUp).Row, "c"))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range(Cells(2, "cl"), Cells(Cells(Rows.Count, "cl").End(xlUp).Row, "cl")).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(Cells(Rows.Count, "cl").End(xlUp).Row, "cl"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, "cl"), Cells(Cells(Rows.Count, "cl").End(xlUp).Row, "cl"))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

录制了一个宏,将一些我知道的没用的代码删除了。使用了动态引用,不是固定行数也不会出错。水平有限,还望指正。

热心网友

不知道就读取一下就好了啊

热心网友

Sub Macro3()
    Range(Cells(2, "a"), Cells(Cells(Rows.Count, "a").End(xlUp).Row, "a")).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(Cells(Rows.Count, "a").End(xlUp).Row, "a"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, "a"), Cells(Cells(Rows.Count, "a").End(xlUp).Row, "a"))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range(Cells(2, "b"), Cells(Cells(Rows.Count, "b").End(xlUp).Row, "b")).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(Cells(Rows.Count, "b").End(xlUp).Row, "b"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, "b"), Cells(Cells(Rows.Count, "b").End(xlUp).Row, "b"))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range(Cells(2, "c"), Cells(Cells(Rows.Count, "c").End(xlUp).Row, "c")).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(Cells(Rows.Count, "c").End(xlUp).Row, "c"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, "c"), Cells(Cells(Rows.Count, "c").End(xlUp).Row, "c"))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range(Cells(2, "cl"), Cells(Cells(Rows.Count, "cl").End(xlUp).Row, "cl")).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Cells(Cells(Rows.Count, "cl").End(xlUp).Row, "cl"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, "cl"), Cells(Cells(Rows.Count, "cl").End(xlUp).Row, "cl"))
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

录制了一个宏,将一些我知道的没用的代码删除了。使用了动态引用,不是固定行数也不会出错。水平有限,还望指正。

热心网友

不知道就读取一下就好了啊

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com