Khi làm việc với Microsoft Excel lớn, đôi khi chúng ta cần sắp xếp dữ liệu từ nhỏ đến lớn. Chúng ta có thể dễ dàng làm điều đó bằng cách sử dụng Macro VBA. Áp dụng mã VBA để sắp xếp từ nhỏ đến lớn là một nhiệm vụ dễ dàng. Hôm nay, trong bài viết này, chúng ta sẽ học ba cách nhanh và phù hợp để VBA auto filter sắp xếp từ nhỏ đến lớn trong Excel hiệu quả với minh họa thích hợp.
Sắp xếp từ nhỏ đến lớn VBA AutoFilter trong Excel (Xem nhanh)
Sub Autofilter_Sort_Smallest_to_Largest() With ActiveSheet.Sort .SortFields.Add Key:=Range("D4"), Order:=xlAscending .SetRange Range("B4:E16") .Header = xlYes .Apply End With End Sub

3 cách phù hợp sắp xếp từ nhỏ đến lớn với VBA AutoFilter trong Excel
Giả sử, chúng ta có bộ dữ liệu chứa thông tin về một số nhân viên bán hàng của nhóm Armani. Tên nhân viên bán hàng, loại sản phẩm, và sản phẩm đặt hàng và sản phẩm giao hàng bởi nhân viên bán hàng được đưa ra ở cột B, C, D, và E tương ứng. Từ bộ dữ liệu của chúng ta, chúng ta sẽ sắp xếp dữ liệu từ nhỏ đến lớn sử dụng mã VBA. Dưới đây là tổng quan bộ dữ liệu cho nhiệm vụ hôm nay.

1. Sắp xếp từ nhỏ đến lớn sử dụng Thứ tự tăng dần trong VBA AutoFilter
Bây giờ tôi sẽ chỉ cách sắp xếp từ nhỏ đến lớn theo thứ tự tăng dần bằng một mã VBA đơn giản. Nó rất hữu ích cho một số thời điểm cụ thể. Từ bộ dữ liệu của chúng ta, chúng ta sẽ sắp xếp dữ liệu theo Sản phẩm đặt hàng theo thứ tự tăng dần. Hãy làm theo hướng dẫn dưới đây để sắp xếp dữ liệu từ nhỏ đến lớn!
Bước 1:
- Trước hết, mở một Mô-đun, để làm điều đó, trước hết, từ tab Nhà phát triển của bạn, đi đến,
Nhà phát triển → Visual Basic

- Sau khi nhấp vào băng Visual Basic, một cửa sổ tên Microsoft Visual Basic for Applications – Sắp xếp dữ liệu từ nhỏ đến lớn sẽ xuất hiện ngay lập tức trước bạn. Từ cửa sổ đó, chúng ta sẽ chèn một mô-đun để áp dụng mã VBA của chúng ta. Để làm vậy, đi đến,
Chèn → Mô-đun

Bước 2:
- Do đó, mô-đun Sắp xếp dữ liệu từ nhỏ đến lớn bật lên. Trong mô-đun Sắp xếp dữ liệu từ nhỏ đến lớn, viết mã VBA dưới đây
Sub Autofilter_Sort_Smallest_to_Largest() With ActiveSheet.Sort .SortFields.Add Key:=Range("D4"), Order:=xlAscending .SetRange Range("B4:E16") .Header = xlYes .Apply End With End Sub

- Do đó, chạy VBA Để làm vậy, đi đến,
Chạy → Chạy Sub/UserForm

- Sau khi chạy Mã VBA, bạn sẽ có thể sắp xếp dữ liệu từ nhỏ đến lớn như đã cho trong ảnh chụp màn hình dưới đây.

Đọc thêm: VBA AutoFilter với nhiều tiêu chí trên cùng trường trong Excel (4 phương pháp)
2. Sử dụng nhiều cột để sắp xếp từ nhỏ đến lớn có tiêu đề trong Excel VBA
Trong phương pháp này, chúng ta sẽ sắp xếp nhiều cột có tiêu đề từ nhỏ đến lớn. Từ bộ dữ liệu của chúng ta, chúng ta sẽ sắp xếp dữ liệu theo Tên của nhân viên bán hàng, và sản phẩm đặt hàng từ nhỏ đến lớn. Hãy làm theo hướng dẫn dưới đây để sắp xếp nhiều cột có tiêu đề từ nhỏ đến lớn!
Bước 1:
- Trước tiên, theo phương pháp 1, chèn một mô-đun mới và gõ mã VBA dưới đây. Mã VBA là,
Sub Sort_Multiple_Columns() With ActiveSheet.Sort .SortFields.Add Key:=Range("B4"), Order:=xlAscending .SortFields.Add Key:=Range("D4"), Order:=xlAscending .SetRange Range("B4:E16") .Header = xlYes .Apply End With End Sub

- Thêm nữa, chạy VBA Để làm vậy, đi đến,
Chạy → Chạy Sub/UserForm

Bước 2:
- Sau khi chạy Mã VBA, bạn sẽ có thể sắp xếp dữ liệu theo Tên của nhân viên bán hàng, và sản phẩm đặt hàng từ nhỏ đến lớn như đã cho trong ảnh chụp màn hình dưới đây.

Đọc thêm: [Sửa lỗi]: Phương pháp AutoFilter của lớp Range thất bại (5 giải pháp)
3. Áp dụng VBA AutoFilter để sắp xếp từ nhỏ đến lớn với tên trang tính
Cuối cùng nhưng không kém phần quan trọng, bạn cũng có thể dùng dữ liệu của mình để sắp xếp từ nhỏ đến lớn theo Tên trang tính sử dụng mã VBA trong Excel. Từ bộ dữ liệu của chúng ta, chúng ta sẽ sắp xếp dữ liệu từ nhỏ đến lớn của sản phẩm giao hàng. Đây là nhiệm vụ dễ dàng và tiết kiệm thời gian. Hãy làm theo hướng dẫn dưới đây để sắp xếp dữ liệu từ nhỏ đến lớn theo Tên trang tính!
Bước 1:
- Trước tiên, chèn một mô-đun mới theo phương pháp 1 và gõ mã VBA dưới đây. Mã VBA là,
Sub Sort_Smallest_to_Largest() Rows("4:16").Select ActiveWorkbook.Worksheets("Smallest to Largest").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Smallest to Largest").Sort.SortFields.Add Key:=Range("E4:E16") _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Smallest to Largest").Sort .SetRange Range("B4:E16") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub

- Thêm nữa, chạy VBA Để làm vậy, đi đến,
Chạy → Chạy Sub/UserForm

Bước 2:
- Sau khi chạy Mã VBA, bạn sẽ có thể sắp xếp dữ liệu từ nhỏ đến lớn theo Tên trang tính như đã cho trong ảnh chụp màn hình dưới đây.

Đọc thêm: Cách tự động lọc và sao chép hàng hiển thị với Excel VBA
Điều cần nhớ
👉 Bạn có thể bật cửa sổ Microsoft Visual Basic for Applications bằng cách nhấn Alt + F11 đồng thời.
👉 Nếu tab Nhà phát triển không hiển thị trên băng công cụ, bạn có thể làm cho nó hiển thị. Để làm vậy, đi đến,
Tệp → Tùy chọn → Tùy chỉnh băng công cụ
Kết luận
Tôi hy vọng tất cả các phương pháp phù hợp được đề cập ở trên để sắp xếp từ nhỏ đến lớn với mã VBA sẽ giờ đây thúc đẩy bạn áp dụng chúng trong bảng tính Excel của bạn với hiệu quả cao hơn. Bạn được chào đón thoải mái bình luận nếu có bất kỳ câu hỏi hoặc thắc mắc nào.
Bài viết liên quan
- Excel VBA kiểm tra xem AutoFilter có bật không (4 cách dễ dàng)
- Cách tự động lọc giá trị không bằng giá trị nhất định với VBA trong Excel
- Excel VBA: Xóa AutoFilter nếu tồn tại (7 cách)