[CHIA SẺ] Tìm kiếm và nhập liệu nâng cao - mã nguồn mở (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia
7/10/13
Bài viết
1,062
Được thích
334
đi thẳng vào vấn đề luôn.
Chắc mọi người cũng không lạ lẫm gì với 2 Addins trích lọc và nhập liệu nâng cao tại 2 bài của 2 thành viên VIP của diễn đàn này
Nguyễn Duy Tuân, huuthang_bd (nhấn vào để đi đến bài viết)
---------------------
mình có tham khảo và cũng thấy được sự thuận tiện trong việc thao tác nhập liệu và trích lọc trong bảng tính
do cả 2 bài trên đều được mã hóa hết nên việc xem và tham khảo code là việc không thể hoặc khó khăn.
nay mình cũng bon chen viết 1 vài code với ý tưởng tương tự như thế.
hiện đã vừa hoàn thành, và mình test cũng thấy được nên mạn phép chia sẻ lên cho anh chị em cùng tham khảo nếu có ý định phát triển thêm có thể tích hợp vào chương trình của mình mà không phải cài nhiều Addins (file chia sẽ sẽ show code hết để mọi người có thể xem và tham khảo thuật toán)
trong quá trình test đứng ở phương diện là người viết nên mình không thể lường hết được các trường hợp phát sinh lỗi vẫn chưa thử hết các trường hợp.
nếu mọi người có tải và sử dụng thì nếu phát hiện lỗi nào, có thể bình luận về lỗi đó giúp mình để mình có thể chỉnh lại.
--------------------
tính năng:
+ dò tìm và nhập liệu nhanh, đối với dữ liệu lớn thì do viết bằng VBA nên có thể việc thể hiện tốc độ "bàn thờ" là không thể.
+ nếu cài đặt nhiều vùng nhập liệu thì khi chọn đúng vùng đó thì sẽ lọc ra dữ liệu tương ứng
+ có thể chèn cột, chèn dòng, xóa cột, xóa dòng ở cả bên bảng dữ liệu và bảng nhập liệu, chương trình sẽ tự động điều chỉnh phù hợp, trường hợp xóa luôn cả 1 vùng dữ liệu hoặc vùng nhập liệu thì tương ứng vùng đó sẽ không hoạt động nữa.
+ việc tìm kiếm không phân biệt chữ hoa, chữ thường
+ có thể tìm kiếm liên tục dữ liệu
+ có thể sắp xếp bảng dữ liệu theo alphabet sau khi lọc xong tạo thuận tiện cho việc xem.
+ nếu trong vùng nhập liệu có cả công thức ở giữa các cột nhập liệu thì khi nhập vào cũng không mất công thức
hạn chế:
+ Vì là lập trình VBA và phải sử lý nhiều lần để ra được kết quả tốt nhấn nên nếu dữ liệu nhiều sẽ xử lý chậm
--------------------
Link download 13h00
23/02/2017 (*)
--------------------
Chỉnh sửa lỗi và bổ xung so với File ban đầu (*)
+ chỉnh sửa lại các lỗi và bố trí lại bố cục + Chỉnh sửa Code Load và Lọc dữ liệu (bỏ chức năng Sort - do không biết cách tính giá trị)
+ bổ xung các hướng dẫn để dễ sử dụng, sửa lại code lọc dữ liệu không chính xác
+ sửa một số lỗi không chạy được code lọc dữ liệu ở bản cũ (khi làm việc với sheet này mà chuyển qua sheet khác thì code vẫn chạy nhưng không lọc được)
+ bổ xung thêm chức năng sort dữ liệu
+ bổ xung thêm các lọc duy nhất (lấy giá trị cuối hay giá trị đầu tiên)
+ sửa lại cách di chuyển list (bản cũ là chọn list chỗ nào cũng kéo được-> chỉ chọn dòng tiêu đề mới kéo đi được)
+ chỉnh sửa lại cách lọc duy nhất.
+ thêm tính năng dò tìm theo ngày tháng (list không hiển thị được dạng dd/mm/yyyy)
+ List hiển thị đúng như vùng data hiển thị trên trang tính (có thể hiển thị và điền vào đúng định dạng ngày tháng)
+ Sửa lại lỗi sắp xếp nhiều lần bị sai (nếu bảng dữ liệu có dữ liệu là chữ hay số trộn lẫn nhau)
Link download 10h30 04/03/2016

---------------------
Do mình cũng là "tay mơ" nên rất mong nhận được sự đóng góp và phản hồi từ mọi người
---------------------
ps: xin cảm ơn các thành viên đã giúp đỡ mình trong quá trình viết và test lỗi
winvista
kieumanh
ndu98061630
........
---------------------
Tham khảo một số code và ý tưởng
siwtom
ndu98061630
huuthang_bd
Nguyễn Duy Tuân
---------------------
 
Lần chỉnh sửa cuối:
Do mình cũng là "tay mơ" nên rất mong nhận được sự đóng góp và phản hồi từ mọi người

Bất kỳ ai cũng đã từng là TAY MƠ mà!
Quan trọng là bạn có ý tưởng, làm vì niềm đam mê và cuối cùng nó phục vụ cho bản thân là chính
Chúc bạn nội lực ngày càng thâm hậu nhé
 
Upvote 0
Bất kỳ ai cũng đã từng là TAY MƠ mà!
Quan trọng là bạn có ý tưởng, làm vì niềm đam mê và cuối cùng nó phục vụ cho bản thân là chính
Chúc bạn nội lực ngày càng thâm hậu nhé

Code bài 1 giờ viết dữ quá ...Em coi khúc biết khúc ko ...thì cũng coi như tịt Luôn đó Anh ...--=0
 
Upvote 0
vào File bấm ADD , xuất hiện hộp thoại ...
bấm luôn nút SỬA ==> sẽ xuất hiện lỗi ngay Error trong chương trình
--------
 
Upvote 0
@langtuchungtinh360,

Tuyệt vời ông mặt trời }}}}}

Đã tải file về lưu kho. hic

Mới thử: Mở file lên, click Add rồi click "Thêm" hoặc "Sửa" có lỗi "Overflow".
 
Upvote 0
Bất kỳ ai cũng đã từng là TAY MƠ mà!
Quan trọng là bạn có ý tưởng, làm vì niềm đam mê và cuối cùng nó phục vụ cho bản thân là chính
Chúc bạn nội lực ngày càng thâm hậu nhé
ý tưởng gì đâu thầy, toàn thấy người ta có gì hay thì "ăn cắp" về làm của mình thôi mà thầy. =>THẾ LÀ NGƯỜI VIỆT NAM
Code bài 1 giờ viết dữ quá ...Em coi khúc biết khúc ko ...thì cũng coi như tịt Luôn đó Anh ...--=0
anh cứ giỡn. cao thủ mà lị. em có ghi chú lại một số chỗ mà coi lại cũng dễ hiểu mà
 
Upvote 0
@langtuchungtinh360,

Tuyệt vời ông mặt trời }}}}}

Đã tải file về lưu kho. hic

Mới thử: Mở file lên, click Add rồi click "Thêm" hoặc "Sửa" có lỗi "Overflow".

Tham gia test Lỗi đi cho chủ thớt hoàn thiện thêm sao cất kho sớm vậy ...--=0
 
Upvote 0
vào File bấm ADD , xuất hiện hộp thoại ...
bấm luôn nút SỬA ==> sẽ xuất hiện lỗi ngay Error trong chương trình
--------
@langtuchungtinh360,

Tuyệt vời ông mặt trời }}}}}

Đã tải file về lưu kho. hic

Mới thử: Mở file lên, click Add rồi click "Thêm" hoặc "Sửa" có lỗi "Overflow".
vâng. em đã update lại link (sửa lỗi trên). trước đó em đã sửa lại lỗi này khi mới up lần đầu lên. chắc mấy lần sau update lại link thì lấy file cũ ra sửa nên nó lại lòi ra lỗi đó
mong mọi người góp ý thêm khi nhấn chuột phải vào cái list nho nhỏ góc phải ấy. hiện list như thế em thấy hơi dở sao ấy. nhấn tùm lum gì đó ở cái list đó 1 hồi là lòi ra 1 lỗi. không biết fix
 
Upvote 0
vâng. em đã update lại link (sửa lỗi trên). trước đó em đã sửa lại lỗi này khi mới up lần đầu lên. chắc mấy lần sau update lại link thì lấy file cũ ra sửa nên nó lại lòi ra lỗi đó
mong mọi người góp ý thêm khi nhấn chuột phải vào cái list nho nhỏ góc phải ấy. hiện list như thế em thấy hơi dở sao ấy. nhấn tùm lum gì đó ở cái list đó 1 hồi là lòi ra 1 lỗi. không biết fix

Hơn 900 bài, hình như có nhiều dung lượng hơn để upload lên GPE rồi thì phải...

Bạn tải trực tiếp lên GPE để tránh link bị hỏng.
 
Upvote 0
vâng. em đã update lại link (sửa lỗi trên). trước đó em đã sửa lại lỗi này khi mới up lần đầu lên. chắc mấy lần sau update lại link thì lấy file cũ ra sửa nên nó lại lòi ra lỗi đó
mong mọi người góp ý thêm khi nhấn chuột phải vào cái list nho nhỏ góc phải ấy. hiện list như thế em thấy hơi dở sao ấy. nhấn tùm lum gì đó ở cái list đó 1 hồi là lòi ra 1 lỗi. không biết fix

Chỗ đó giao diện khá tốt, thuận lợi cho người dùng chọn,
hạn chế,

+ Không cho bỏ (xóa cột đã chọn)
+ Không chặn người dùng chọn dư ví dụ cột 1 hai lần ... thấy có rui, Nhưng trùng xong là vô phương không xóa được

*
hộpthoại sau khi bấm ADD đó, không có nút nào có chức năng giống nút CANCEL <== cân thêm vào
 
Lần chỉnh sửa cuối:
Upvote 0
Chỗ đó giao diện khá tốt, thuận lợi cho người dùng chọn,
hạn chế,

+ Không cho bỏ (xóa cột đã chọn)
+ Không chặn người dùng chọn dư ví dụ cột 1 hai lần ... thấy có rui, Nhưng trùng xong là vô phương không xóa được

*
hộpthoại sau khi bấm ADD đó, không có nút nào có chức năng giống nút CANCEL <== cân thêm vào

Vâng, em cảm ơn ạ.
List nho nhỏ đó vẫn xoá cột dữ liệu nguồn. Nhấn del là xoá đc ngay dòng được chọn. Thông cảm vì em chưa làm hướng dẫn được.
File ban đầu em làm là khoá câc nút lại khi không cần thiết luôn ấy. Mà hiện đang test nên ko thêm vào. Đọc sẽ rối mắt
 
Upvote 0
Với chức năng nhập liệu nâng cao này, màn hình thiết lập thấy giống Add-in A-Tools đến 90% ;;;;;;;;;;;
Mình cũng tò mò xem file của bạn tính năng sẽ giống được bao nhiêu %. Thực tế chức năng này để chạy mượt mà, tốc độ cao, tương tác nhập liệu chuột, bàn phím với cảm giác nhẹ nhõm như excel là rất khó, khi một sheet có nhiều vùng nhập có danh sách rất hay bị lỗi nếu không fix kỹ.
 
Upvote 0
Với chức năng nhập liệu nâng cao này, màn hình thiết lập thấy giống Add-in A-Tools đến 90% ;;;;;;;;;;;
Mình cũng tò mò xem file của bạn tính năng sẽ giống được bao nhiêu %. Thực tế chức năng này để chạy mượt mà, tốc độ cao, tương tác nhập liệu chuột, bàn phím với cảm giác nhẹ nhõm như excel là rất khó, khi một sheet có nhiều vùng nhập có danh sách rất hay bị lỗi nếu không fix kỹ.
Em cảm ơn thầy đã quan tâm ạ.
Như bài #1 e có ghi là có tham khảo của thầy cơ mà (tham khảo đc chức năng với giao diện)
Còn code thì nhờ file của huuthang_bd mà e mới biết được vụ class sự kiện đó.
Của thầy thì ngôn ngữ lập trình khác tốc độ hơn là đúng rồi. Em thì nhấn 1 cái nó làm từa lưa công tác hết thì làm sao nhanh được.
1 sản phẩm chỉ 2-3 tuần làm thì làm sao sánh được với sản phẩm 1 năm được chiứ thầy. Việc chia sẻ này có thể xem là "trá hình" thôi thầy ạ ^^. Biết đâu được nhiều cao thủ khác chỉ con đường khác đi để nâng tầm lên thì sao.
Đơn giản đưa lên để cùng học hỏi. Để những ai "tay mơ" như e về lập trình và đang tìm hiểu thì có thể lôi về làm của riêng và phát triển hơn trong công việc.
 
Upvote 0
Em cảm ơn thầy đã quan tâm ạ.
Như bài #1 e có ghi là có tham khảo của thầy cơ mà (tham khảo đc chức năng với giao diện)
Còn code thì nhờ file của huuthang_bd mà e mới biết được vụ class sự kiện đó.
Của thầy thì ngôn ngữ lập trình khác tốc độ hơn là đúng rồi. Em thì nhấn 1 cái nó làm từa lưa công tác hết thì làm sao nhanh được.
1 sản phẩm chỉ 2-3 tuần làm thì làm sao sánh được với sản phẩm 1 năm được chiứ thầy. Việc chia sẻ này có thể xem là "trá hình" thôi thầy ạ ^^. Biết đâu được nhiều cao thủ khác chỉ con đường khác đi để nâng tầm lên thì sao.
Đơn giản đưa lên để cùng học hỏi. Để những ai "tay mơ" như e về lập trình và đang tìm hiểu thì có thể lôi về làm của riêng và phát triển hơn trong công việc.

Chức năng nhập liệu nâng cao để làm thô thô mình đã làm từ cách đây 10 năm và share code trên GPE, nhưng để làm được như mục nhập liệu nâng cao như trong A-Tools thì đến năm vừa rồi mới hội tụ được những kinh nghiệm và kỹ thuật lập trình API để can thiệp vào Excel đó chứ không phải 1 năm đâu. Nếu em để ý sẽ thấy con trỏ nhập liệu của A-Tools không phải là TextBox, ComboBox mà là của Excel đó, khi mục đó tăng giảm chiều cao, rộng thì form danh sách chạy theo, hay trong khi hiển thị danh sách lọc, lăn chuột để quận màn hình cũng cuộn theo, khi con trỏ đặt tại ô thì nó ở trạng thái tĩnh để người dùng có thể làm các lệnh khác của Excel chứ không chèn ngay TextBox như em hay các sản phẩm của người khác làm, chỉ cần nhập 1 ký tự thôi là form khích hoạt tìm kiếm,... CÒn nhiều lắm. Đây là lý do tại sao mình nói làm được như vậy là mất cả quá trình tích lũy kiến thức cao cấp và khó khăn thế nào trong quá trình tương tác.

Mình cũng mong bạn và các cao thủ ở VN (có thể ở nước ngoài) tìm được giải pháp làm tốt cho chức năng này để nhiều thành viên khác khai thác và học hỏi.
 
Upvote 0
Chức năng nhập liệu nâng cao để làm thô thô mình đã làm từ cách đây 10 năm và share code trên GPE, nhưng để làm được như mục nhập liệu nâng cao như trong A-Tools thì đến năm vừa rồi mới hội tụ được những kinh nghiệm và kỹ thuật lập trình API để can thiệp vào Excel đó chứ không phải 1 năm đâu. Nếu em để ý sẽ thấy con trỏ nhập liệu của A-Tools không phải là TextBox, ComboBox mà là của Excel đó, khi mục đó tăng giảm chiều cao, rộng thì form danh sách chạy theo, hay trong khi hiển thị danh sách lọc, lăn chuột để quận màn hình cũng cuộn theo, khi con trỏ đặt tại ô thì nó ở trạng thái tĩnh để người dùng có thể làm các lệnh khác của Excel chứ không chèn ngay TextBox như em hay các sản phẩm của người khác làm, chỉ cần nhập 1 ký tự thôi là form khích hoạt tìm kiếm,... CÒn nhiều lắm. Đây là lý do tại sao mình nói làm được như vậy là mất cả quá trình tích lũy kiến thức cao cấp và khó khăn thế nào trong quá trình tương tác.

Mình cũng mong bạn và các cao thủ ở VN (có thể ở nước ngoài) tìm được giải pháp làm tốt cho chức năng này để nhiều thành viên khác khai thác và học hỏi.
vâng!trước đó em cũng để ý các video của thầy là nó thực hiện trên cell của sheet. nhưng không biết làm thế nào để chạy form được nên đành dùng text box, em cũng thử với form nhưng kích thước nó không chỉnh lại đẹp để vừa vào cell nên đành dùng textbox.
theo em thấy thì VBA không thể làm được như thế. hoặc có thể dược mà em không biết (API chẳng hạn)
còn về tốc độ lọc thì chắc không ổn. vì phải đến 2-3 công đoạn xử lý dữ liệu mới có thể cho ra được kết quả. còn chưa kể, khi UCase để chuyển thành chữ in hoa, để không phải phân biệt chữ hoa thường thì nó cũng làm tốc độ xử lý chậm đi
đó chỉ mới là lọc text với số. còn chưa làm ngày tháng. không biết phải làm thế nào để kiểm tra nó là số hay là ngày tháng để lọc cho chính xác được
 
Upvote 0
Bị lỗi: Khi click vào add hoặc click chuột vào bảng test thì xuất hiện lỗi ở
Sub FilterSortAZ()
' ufSearch.SortAZ
End Sub
Sub FilterSortZA()
'ufSearch.SortZA
End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom