2018年7月19日 星期四

Excel VBA 排序

2018.07.19 Excel VBA 排序可以用錄寫巨集的方式記錄再更改,但錄寫時範圍常用 Range ,以下程式碼使用 Columns :

    ActiveWorkbook.Worksheets(1).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(1).Sort.SortFields.Add Key:=Columns("G") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    '排序欄位1,依 G 欄排序
    ActiveWorkbook.Worksheets(1).Sort.SortFields.Add Key:=Columns("E") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    '排序欄位2
    ActiveWorkbook.Worksheets(1).Sort.SortFields.Add Key:=Columns("D") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    '排序欄位3
    With ActiveWorkbook.Worksheets(1).Sort
        .SetRange Columns("A:Z")
        '排序欄位範圍 A 到 Z
        .Header = xlYes
        '有標題列
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With    

沒有留言:

張貼留言