Hướng dẫn cách sắp xếp dữ liệu trong Excel bằng VBA
Sắp xếp là một việc thường xuyên được thực hiện khi thao tác với dữ liệu trong VBA. Lợi ích của việc sắp xếp giúp cho chúng ta quản lý dữ liệu tốt hơn, dễ dàng tra cứu, kiểm tra hơn. Trong bài học này chúng ta cùng tìm hiểu một số cách sử dụng lệnh Sort trong VBA: Ví dụ 1: Sắp xếp không bao gồm ...
Sắp xếp là một việc thường xuyên được thực hiện khi thao tác với dữ liệu trong VBA. Lợi ích của việc sắp xếp giúp cho chúng ta quản lý dữ liệu tốt hơn, dễ dàng tra cứu, kiểm tra hơn. Trong bài học này chúng ta cùng tìm hiểu một số cách sử dụng lệnh Sort trong VBA:
Ví dụ 1: Sắp xếp không bao gồm tiêu đề
Cho bảng dữ liệu sau, hãy sắp xếp thứ tự nội dung trong bảng theo dữ liệu ở cột D
Câu lệnh sắp xếp như sau:
Trong câu lệnh này, bảng tính giới hạn từ ô A2 tới dòng cuối của cột G (toàn bộ bảng tính từ cột A tới G, từ dòng 2 tới dòng cuối có chứa dữ liệu).
Nội dung sắp xếp là nội dung tại cột D, tính từ ô D2
Thứ tự sắp xếp là thứ tự tăng dần (nếu sắp xếp giảm dần thì dùng xlDescending thay cho xlAscending)
Thứ tự sắp xếp có thể biểu diễn dưới dạng số:
xlAscending là số 1
xlDescending là số 2
Ví dụ 2: Sắp xếp có bao gồm tiêu đề
Câu lệnh sắp xếp với dữ liệu trên có bao gồm tiêu đề như sau:
Những nội dung cần chú ý:
- Vùng bắt đầu của bảng dữ liệu: Bao gồm cả dòng tiêu đề (trong ví dụ này bắt đầu từ dòng thứ 1)
- Header = xlYes để thể hiện vùng dữ liệu này có tiêu đề, Header = xlNo để thể hiện không có tiêu đề. Tuy nhiên nếu vùng dữ liệu được chọn không có chứa tiêu đề thì không cần xét tiêu chí này (như ví dụ 1)
- Dữ liệu sắp xếp ở cột D vẫn bắt đầu từ ô D1 hoặc D2 đều được
Ví dụ 3: Sắp xếp thứ tự trong tất cả các sheet
Nếu yêu cầu sắp xếp là bắt buộc và áp dụng trên tất cả các sheet thì chúng ta có thể áp dụng nội dung này để có thể sắp xếp dữ liệu một cách nhanh chóng chỉ với 1 câu lệnh:
Diễn giải cách thực hiện:
- Sử dụng vòng lặp để chạy qua các đối tượng là WorkSheet nằm trong Workbook đang làm việc
- Tại mỗi Sheet đi qua thực hiện lệnh lọc dữ liệu với vùng dữ liệu được xác định: cột A đến cột G, từ dòng 2 tới dòng cuối có chứa dữ liệu, sắp xếp tại cột D từ ô D2, sắp xếp theo thứ tự tăng dần (1 = xlAscending)
Như vậy chúng ta đã có thể nắm được cách thức thực hiện lệnh sắp xếp trong VBA rồi phải không nào. Câu lệnh sắp xếp khá đơn giản và đem lại hiệu quả cao, giúp chúng ta có thể quản lý dữ liệu tốt hơn trong khi làm việc trên Excel.
Tải về file mẫu tại địa chỉ: http://bit.ly/2B8IP5K