繁体   English   中英

如何对列从左到右排序?

[英]How to sort columns left to right?

我正在尝试根据某一行中显示的值对列进行排序。

数据由两个表组成,用空行分隔。

      A       B       C       D       E
1           12QA03  12QA01  12QA02
2   Step 1  32      23      82
3   Step 2  43      92      1
4   Step 3  12      12      84
5   Step 4  65      89      51
6   
7           24QA93  24QA91  24QA95  24QA98
8   Step 1  94      77      83      28
9   Step 2  92      30      5       19
10  Step 3  19      82      16      49
11  Step 4  11      41      7       17

目的是要获得:

      A       B       C       D       E
1           12QA01  12QA02  12QA03
2   Step 1  23      82      32
3   Step 2  92      1       43
4   Step 3  12      84      12
5   Step 4  89      51      65
6           
7           24QA91  24QA93  24QA95  24QA98
8   Step 1  77      94      83      28
9   Step 2  30      92      5       19
10  Step 3  82      19      16      49
11  Step 4  41      11      7       17

我写了一个宏,该宏可以正确地用于顶层表,但是第二个错误:

Sub SortData()

    'Sort top table
    With Range("B1:D5")
    .Rows.Sort Key1:=.Rows.Range("B1"), Order1:=xlAscending, _
    Orientation:=xlLeftToRight
    End With

    'Sort top table
    With Range("B7:E11")
    .Rows.Sort Key1:=.Rows.Range("B7"), Order1:=xlAscending, _
    Orientation:=xlLeftToRight
    End With

End Sub

怎么了? 还是有更好的方法? 在此先感谢您的帮助!

也许更简单一些:

Sub SortLTable()
    Range("B7:E11").Sort Key1:=Range("B7:E7"), Order1:=xlAscending, Orientation:=xlLeftToRight
End Sub

暂时在A1和A7中放置一些内容,例如“ A”,以便您具有完整的表(带有已填充的标题列)。 您可以在排序后删除这些值。

您对WithRows使用使该问题变得混乱:

Sub SortData()

    'Sort top table
    Range("A1,A7").Value = "A"
    Range("B1:D5").Sort Key1:=Range("B1"), Order1:=xlAscending, _
        Orientation:=xlLeftToRight

    'Sort top table
    Range("B7:E11").Sort Key1:=Range("B7"), Order1:=xlAscending, _
        Orientation:=xlLeftToRight
    Range("A1,A7").Value = ""
End Sub

以下代码有效。

Sub SortLTable()
    Range("B1:D5").Sort Key1:=Range("B1:D1"), Order1:=xlAscending, Orientation:=xlLeftToRight
    Range("B7:E11").Sort Key1:=Range("B7:E7"), Order1:=xlAscending, Orientation:=xlLeftToRight
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM