Macro sắp xếp Sheet

Liên hệ QC

be_09

Biên Hòa, Đồng Nai
Tham gia
9/4/11
Bài viết
9,975
Được thích
9,862
Nghề nghiệp
Công chức
Tặng các bạn File Macro sắp xếp Sheet theo trình tự (code nguồn mở).
Thông thường các tên sheet ta thường sử dụng với 1 tên nào đó mà ít chú ý đến sự sắp xếp nó theo 1 trình tự, đặc biệt trong tạo việc tạo Link giữa các sheet vì một công việc nào đó nếu ta xáo trộn thứ tự nó thì rất khó cho việc kiểm tra Link giữa các sheet.
Hôm nay tôi gửi tặng các bạn 1 File khi chạy Macro khi nhấn Yes thì nó sẽ sắp xếp tên Sheet theo thứ tự vần A, B, C…Hoặc theo thứ tự số tăng dần 1, 2, 3 .....Nếu nhấn No thì nó sẽ sắp xếp tên Sheet theo thứ tự chữ cái ngược lại hoặc theo thứ tự số giảm dần ...3, 2, 1. Xem File đính kèm.

https://www.box.com/s/5euklqt35bv43u5bs0a2
 
Tặng các bạn File Macro sắp xếp Sheet theo trình tự (code nguồn mở).
Thông thường các tên sheet ta thường sử dụng với 1 tên nào đó mà ít chú ý đến sự sắp xếp nó theo 1 trình tự, đặc biệt trong tạo việc tạo Link giữa các sheet vì một công việc nào đó nếu ta xáo trộn thứ tự nó thì rất khó cho việc kiểm tra Link giữa các sheet.
Hôm nay tôi gửi tặng các bạn 1 File khi chạy Macro khi nhấn Yes thì nó sẽ sắp xếp tên Sheet theo thứ tự vần A, B, C…Hoặc theo thứ tự số tăng dần 1, 2, 3 .....Nếu nhấn No thì nó sẽ sắp xếp tên Sheet theo thứ tự chữ cái ngược lại hoặc theo thứ tự số giảm dần ...3, 2, 1. Xem File đính kèm.

https://www.box.com/s/5euklqt35bv43u5bs0a2
Bài toán này có trên GPE từ đời nào rồi anh ơi:
http://www.giaiphapexcel.com/forum/showthread.php?461-Sắp-xếp-các-Sheet-Bài-toán-sắp-xếp
Nói chung là vẫn còn thiếu 1 chút: Sort tiếng Việt Unicode
 
Upvote 0
Nói chung là vẫn còn thiếu 1 chút: Sort tiếng Việt Unicode

Tuấn định nói về sort mảng có ký tự Việt?

Tôi gửi hàm sắp xếp mảng 2 chiều:

1. Cho phép sắp xếp tới 3 cột. Trong mỗi cột riêng biệt có thể thiết lập: tăng hay giảm, có phân biệt chữ hoa, thường hay không, và có mã hóa cột trước khi sắp xếp không.
Nếu cột có ký tự Việt thì bắt buộc phải chọn có mã hóa vì ngược lại sẽ không sắp xếp đúng.
Nếu cột chỉ chứa số hoặc / và các chữ cái không dấu thì cũng có thể chọn mã hóa nhưng như thế là không cần thiết và chỉ tổ mất thêm thời gian mã hóa.

2. Chỉ có cột đầu tiên là bắt buộc, tức có thể sắp xếp chỉ 1 cột, 2 cột hoặc tận 3 cột. Tham số có nhiều nhưng phần lớn là tùy chọn - Optional. Vd. nếu chỉ muốn sort 1 cột thôi thì điền thông số cho cột đầu còn các thông số còn lại để mặc định (không sắp xếp)

3. Về cột có unicode thì tôi nghĩ đã làm chuẩn. Riêng Vni và VN3 tôi không dám chắc vì bản thân tôi không ủng hộ Vni và VN3 nên cũng chả bỏ công ra nghiên cứu. Tôi có cảm giác là vd. có những ký tự VNI có 2 "phiên bản", tức có 2 ký tự có mã (code) khác nhau nhưng khi hiển thị thì như một.
Trong module đính kèm có hàm SourceToDest và có thể dùng nó để chuyển từ unicode sang VNI. Tôi tin là làm tốt. Chỉ có điều là làm ngược lại thì nếu như tôi "e" là đúng thì sợ là có ký tự VNI nào đó mà tôi không có trong bảng tra (vì trong bảng tra tôi có ký tự với mã khác) thì nó không được chuyển sang ký tự unicode.
Tóm lại nếu cột có tiếng Việt unicode thì phải nhập cc_uni hoặc 1 (tức cột chứa unicode cần mã hóa trước khi sắp xếp), và tôi tin là đã làm tốt. Còn VNI và VN3 thì nên kiểm tra.

4. Nếu ai muốn làm thành add-in thì: tạo menu --> click menu sẽ mở Form cho phép chọn vùng cần sắp xếp (sx), thứ tự các cột cần sx v...v --> gọi hàm Sort2DArray.
Trong tập tin đính kèm tôi sx hai cột theo thứ tự 3, 2. Cột 3 tăng, cột 2 giảm. Chỉ có cột 3 là mã hóa (cc_uni). Trước khi sx thì tạo bản sao của sheet.

5. Trong module có nhiều giải thích. Muốn đọc được thì trong VBE chọn: Tools --> Options --> Editor Format --> mục Font chọn Times New Roman (vietnamese)
 

File đính kèm

  • Ket qua thi DH.rar
    109.6 KB · Đọc: 83
Upvote 0
Web KT
Back
Top Bottom