Mình có đang sử dụng code hàm tự tạo siêu tầm trên diễn đàn. Để lọc được danh sách duy nhất. Nó thực hiện rất tốt và lọc khá là nhanh. Nhưng kết quả mình mong nó sắp xếp được theo vần. Mình có gửi file đính kèm ghi rõ chi tiết ở bên trong. Mong các Bạn xem và giúp đỡ. Cảm ơn các Bạn!
Nếu ko tải được file đính kèm các bạn có thể tải theo đường link sau :
http://www.mediafire.com/?c8rfr82jan8u5lr
Tập tin tôi đính kèm ở dưới. Vài chú ý:
1. Code UniqueArray tôi lược bỏ vài dòng.
2. Code UniqueArray tôi thêm vài dòng trong đó có gọi Sub để sắp xếp mảng các giá trị duy nhất. Cũng vì lẽ này nên tôi đổi tên thành UniqueArrayAndSort
3. Trong các chuỗi nguồn ví dụ các đoạn đầu tuy có ký tự Việt nhưng chúng lại y hệt nhau. Chỉ có các đoạn giữa tuy khác nhau (A1, ..., A6) nhưng lại không có ký tự Việt. Vì thế thứ tự sắp xếp của các đoạn giữa cũng chính là thứ tự cần có của các chuỗi nguồn. Mà việc sắp xếp các chuỗi tiếng Anh thì không có gì khó.
Trong trường hợp tổng quát khi các chuỗi khác nhau và có ký tự Việt thì việc sắp xếp có thể có chỗ không chính xác. Để sắp xếp chuẩn các chuỗi Việt thì phải mã hóa các ký tự Việt. Nhưng như thế thì code sẽ phức tạp hơn.
Tôi đã có viết code sắp xếp tới 3 cột, và nếu cột sắp xếp có ký tự Việt thì có thể thiết lập mã hóa hay không mã hóa cho cột. Khi cần mã hóa thì cho biết cột cần mã dùng VN3, Vni hay unicode. Cũng có thể thiết lập có phân biệt hoa - thường khi sắp xếp hay không, và sắp xếp tăng hay giảm. Vì code làm nhiều việc - sắp xếp tới 3 cột, mã hóa cho 3 trường hợp dùng VN3, Vni và unicode, phân biệt hoa thường, sắp xếp tăng hay giảm - nên code phức tạp hơn nhiều.
Vì tôi không biết bạn sẽ giết gà hay mổ trâu nên tôi lược code thành sắp xếp cho mảng chỉ có 1 cột và sắp xếp tăng hay giảm. Không có mã hóa và phân biệt hoa - thường. Vì thế nên mới có các chú ý ở trên.