簡體   English   中英

如何對我的前兩列 AZ 進行排序?

[英]How can I sort my my first two columns A-Z?

我正在嘗試對包含字母和數字的列進行排序。 我想對列 AZ 進行排序,我嘗試閱讀一些函數並嘗試對其進行排序,但是我收到此錯誤:

Private Function Sort2()
    Set HSheet = ThisWorkbook.Sheets("Building Parts")
    HBLR = HSheet.Range("A" & Rows.Count).End(xlUp).Row
    Worksheets("Building Parts").Activate

    With Range(Columns("A"), Columns("I"))
        .Sort key1:=Columns("A"), Order1:=xlDescending, Header:=xlNo
        .Sort key1:=Columns("B"), Order1:=xlDescending, Header:=xlNo
    End With
End Function

模擬數據:

在此處輸入圖片說明

從我的評論中編寫代碼作為答案,使其更具可讀性


對同一范圍內的單個列使用排序將允許對每列進行 xlAscending 排序,最終排序提供最終 AZ:

模擬數據:

Col 1      Col 2
A          1
A          3
B          1
C          1
A          2

如果您希望 Col1 具有主要層次結構,則將其排在最后,因此:

With Range(Columns(1), Columns(2))
    .Sort key1:=.Columns(2), order1:=xlAscending, Header:=xlYes
    .Sort key1:=.Columns(1), order1:=xlAscending, Header:=xlYes
End With

上面的代碼本質上是:

.Range(.Columns(1), .Columns(2)).Sort key1:=.Columns(1), order1:=xlAscending, key2:=.Columns(2), order2:=xlAscending, Header:=xlYes

單行方法的優先級最高為key1 ,第二高為key2key2


代碼運行后的輸出將是:

Col 1      Col 2
A          1
A          2
A          3
B          1
C          1

編輯(接受后):

我回去添加了 soem 缺少的點符號,在key1:=.Columns(1) ......不合格的引用會導致問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM