Thực thi sắp xếp dữ liệu bằng đối tượng Sort

Euler

Administrator
Thành viên BQT
Từ Excel 2007, chúng ta có lệnh sắp xếp mới.

Bạn cần đăng nhập để thấy đính kèm


Như vậy ta thấy nó được tiến hành qua hai giai đoạn. Đối tượng Sort sẽ đảm đương việc tiến hành sắp xếp dữ liệu.

Tiếp theo chúng ta sẽ tới thao tác:

Mã:
With ActiveSheet.Sort               ''Với đối tượng Sort

        .SetRange Range("A1:C10")       ''Chỉ định phạm vi sắp xếp dữ liệu
        .Header = xlYes                 ''Chỉ định dòng 1 là dòng tiêu đề
        .MatchCase = False              ''Chỉ định có phân biệt chữ hoa và chữ thường hay không
        .Orientation = xlTopToBottom    ''Chỉ định hướng sắp xếp dòng/cột
        .SortMethod = xlPinYin          ''Chỉ định có dùng furigana không-Máy tính mình cài bộ gõ tiếng nhật nên có. Các bạn xác nhận trên máy các bạn thì sao nhé.
        .Apply                          ''Tiến hành sắp xếp dữ liệu

    End With
Về chỉ định dòng 1 có phải là dòng tiêu đề hay không, sau đây chúng ta sẽ cùng tìm hiểu về các thuộc tính của Header.
Hằng sốGiá trịÝ nghĩaGiá trị mặc định
xlGuess0Excel tự động phán đoán
xlYes1Dòng 1 là tiêu đề
xlNo2Dòng 1 không là tiêu đề←Đây là giá trị mặc định
Khi bạn dùng tính năng ghi macro và thao tác sắp xếp dữ liệu. Bạn sẽ thấy Header thường được để là Guess. Cái này có nghĩa là để Excel tự động phán đoán có dòng tiêu đề hay không. Giả sử như chúng ta biết rõ dòng tiêu đề có hay không, thì nên chỉ định rõ ràng bằng YES/ NO.
Về việc có phân biệt chữ in hoa và chữ thường hay không, thì chúng ta sẽ chỉ định True/False cho thuộc tính MatchCase.
Thuộc tính Orientation sẽ chỉ định hướng sắp xếp dữ liệu theo dòng hay theo cột.
Hằng sốGiá trịÝ nghĩaGiá trị mặc định
xlSortColumns
1​
Sắp xếp theo cột
xlSortRows
2​
Sắp xếp theo hàng←Đây là giá trị mặc định
Thuộc tính SortMethod, cho tới Excel 2003, nó là thuộc tính được chỉ định để sắp xếp dữ liệu (phiên âm tiếng trung, tiếng nhật). Excel 2007 trở đi cũng tương tự.
Vì máy tính của các bạn có lẽ không cài bộ gõ tiếng nhật, nên có lẽ không cần quan tâm.
Cuối cùng, phương thức Apply sẽ tiến hành sắp xếp dữ liệu.
Dưới đây, chúng ta sẽ có một ví dụ:
Bạn cần đăng nhập để thấy đính kèm

Mã:
Sub Sample4()
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("C2")
        .SetRange Range("A2:C10")
        .Header = xlNo
        .Apply
    End With
End Sub
Nó sẽ sắp xếp dữ liệu theo cột C, kết quả:
Bạn cần đăng nhập để thấy đính kèm

Bây giờ chúng ta sẽ sắp xếp dữ liệu mà điều kiện được thiết định ở cột A:
Mã:
Sub Sample5()
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A2"), Order:=xlDescending
        .SetRange Range("A2:C10")
        .Header = xlNo
        .Apply
    End With
End Sub
Nguồn:
 
Top