[CHIA SẺ] Tìm kiếm và nhập liệu nâng cao - mã nguồn mở (1 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
Export ba mớ modules ra thành những file bas rồi đưa lên đây.
Phần mềm mã nguồn mở phải có khả năng gói gọn, tách rời được ra khỏi cái CSDL.
 
Upvote 0
Không biết cái này có chạy đc trên bản 64bit ko nhi? ☺
 
Upvote 0
đã cập nhật bản sửa đổi fix một số lỗi mình phát hiện ra, bổ xung thêm một số chức năng để dễ mọi người có thêm nhiều tùy chọn hơn, chi tiết xem tại #1
 
Upvote 0
Export ba mớ modules ra thành những file bas rồi đưa lên đây.
Phần mềm mã nguồn mở phải có khả năng gói gọn, tách rời được ra khỏi cái CSDL.

gửi file lên nó tiên hơn mà bác. ví dụ như người mới thì đâu biết cách nào dùng được (ví dụ như em hồi trước. tải file .bas về mà có biết làm gì để sử dụng được đâu. cuối cùng phải xóa)
 
Upvote 0
gửi file lên nó tiên hơn mà bác. ví dụ như người mới thì đâu biết cách nào dùng được (ví dụ như em hồi trước. tải file .bas về mà có biết làm gì để sử dụng được đâu. cuối cùng phải xóa)

Nếu ý của bạn là chia sẻ code thì tôi hoan nghênh. Và chỉ hoan nghênh thôi, không hơn không kém.

Vì bạn mạnh miệng nói nó là mã nguồn mở cho nên tôi hiểu lầm ý của bạn muốn tham khảo phê bình này nọ, và tôi chỉ muốn xem cách trình bày code. Nếu code không thể tách rời khỏi file thì tôi không cần xem tiếp. Chấm hết.

Việc bạn tải file bas về mà không xài được là do bạn tải những files có 1 hoặc cả 2 tính chất sau đây:
1. không có đủ chú thích (comments) để bạn hiểu mục điochs của code
2. người viết code dựa vào cấu trúc đặc thù của dữ liệu. Tức là code không uyển chuyển.

Nếu bạn muốn đi vào vết xe kia thì đó là quyền của bạn.
 
Upvote 0
Hii! mình test thử file thấy bảng tìm kiếm và nhập liệu không ở ngay ô chọn mà cách ô chọn xuống phía dưới một khoảng. Nếu bạn cho bảng nhập liệu ở gần ngay ô chọn thì tốt quá!-=.,,
anh 1.jpg
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu ý của bạn là chia sẻ code thì tôi hoan nghênh. Và chỉ hoan nghênh thôi, không hơn không kém.

Vì bạn mạnh miệng nói nó là mã nguồn mở cho nên tôi hiểu lầm ý của bạn muốn tham khảo phê bình này nọ, và tôi chỉ muốn xem cách trình bày code. Nếu code không thể tách rời khỏi file thì tôi không cần xem tiếp. Chấm hết.

Việc bạn tải file bas về mà không xài được là do bạn tải những files có 1 hoặc cả 2 tính chất sau đây:
1. không có đủ chú thích (comments) để bạn hiểu mục điochs của code
2. người viết code dựa vào cấu trúc đặc thù của dữ liệu. Tức là code không uyển chuyển.

Nếu bạn muốn đi vào vết xe kia thì đó là quyền của bạn.
vâng!
em cảm ơn những góp ý từ bác. chắc là em dùng từ sai (cứ nghĩ không khóa là nói mã nguồn mở được- mà cái này cũng chả cao siêu gì nên cũng không nói là mã nguồn mở được) chắc dùng từ "mã mở" là đúng.
còn việc không dùng được file .bas chắc là bác hiểu nhầm ý em.
ý em là trước kia em chỉ biết tải file excel về có sẵn VBA mà dùng thôi. nên khi tải file .bas về thì ko biết dùng thế nào (tức là không biết thêm vào ấy)
ở đây ví dụ như người mới biết VBA muốn tham khảo thì không lẽ bắt người ta mò cách sử dụng. gửi file lên thì tiện hơn. tải về là biết dùng ngay. chế cháo gì thêm thì tùy.
đâu phải ai cũng có điều kiện được học VBA ở trường lớp hay trung tâm- như em thì là tự mò từng chữ. đâu phải cái nào cũng biết ý nghĩ, biết dùng đâu- đứng ở phương diện đó thì suy ra cũng có người sẽ như em. đâu phải chia sẻ lên là chỉ để cho những người biết dùng sử dụng. cả những người không biết cũng dùng được chứ.
ps: nếu BQT thấy em dùng từ không đúng thì có thể sửa lại giúp em. hoặc có thể xóa đi cho rồi. lý do chủ đề sai khác nội dung trình bày và bài viết không có ý nghĩa thực tiễn.+-+-+-+
 
Upvote 0
Hii! mình test thử file thấy bảng tìm kiếm và nhập liệu không ở ngay ô chọn mà cách ô chọn xuống phía dưới một khoảng. Nếu bạn cho bảng nhập liệu ở gần ngay ô chọn thì tốt quá!-=.,,
vâng
cảm ơn góp ý từ bạn
thế bạn muốn nó như thế nào?
bạn tải file cuối cùng về
nhấn ON
nhấn CÀI ĐẶT
tại dòng đầu (1)....(2)....(3).....(4)...... gì đó bạn chỉnh lại theo ý nhé, nhấn (?) để xem hướng dẫn
bạn tải file cuối cùng ở bài #1 nha
 
Upvote 0
Hị! khi mình test giả sử khi đánh một vài ký tự trên ô để dò tìm thì list trên bảng tìm kiếm và nhập liệu vẫn không thay đổi. Nếu đánh một vài chữ để dò tìm mà bảng list tìm kiếm và thay đổi theo chữ đánh thì tốt.
 
Upvote 0
Hị! khi mình test giả sử khi đánh một vài ký tự trên ô để dò tìm thì list trên bảng tìm kiếm và nhập liệu vẫn không thay đổi. Nếu đánh một vài chữ để dò tìm mà bảng list tìm kiếm và thay đổi theo chữ đánh thì tốt.
lý do thế này, vì file viết bằng vba nên tốc độ không nhanh được
nếu bạn muốn đánh 1 chữ thì nó lọc ngay thì khi đó mỗi khi bạn gõ thì nó sẽ xử lý rất chậm với dữ liệu nhiều
nên mình cài đặt là gõ xong thì enter thì nó sẽ tìm kiếm, và mỗi khi bạn gõ khoảng trắng thì nó cũng tìm. còn trong lúc bạn gõ các từ khác thì không chạy đâu.
đôi lời gửi đến bạn.
 
Upvote 0
lý do thế này, vì file viết bằng vba nên tốc độ không nhanh được
nếu bạn muốn đánh 1 chữ thì nó lọc ngay thì khi đó mỗi khi bạn gõ thì nó sẽ xử lý rất chậm với dữ liệu nhiều
nên mình cài đặt là gõ xong thì enter thì nó sẽ tìm kiếm, và mỗi khi bạn gõ khoảng trắng thì nó cũng tìm. còn trong lúc bạn gõ các từ khác thì không chạy đâu.
đôi lời gửi đến bạn.

OK! cám ơn bạn nhé!}}}}}
 
Upvote 0
Như mình nói ở bài 27 khi test thử file thấy bảng tìm kiếm và nhập liệu không ở ngay ô chọn đang đánh mà cách ô chọn xuống phía dưới một khoảng. Mình có vẽ mũi tên muốn kéo bảng nhập liệu đến sát ô excel đang đánh nhưở hinh đính kèm dưới đây là ô C4...
View attachment 172314
 
Lần chỉnh sửa cuối:
Upvote 0
Như mình nói ở bài 27 khi test thử file thấy bảng tìm kiếm và nhập liệu không ở ngay ô chọn đang đánh mà cách ô chọn xuống phía dưới một khoảng. Mình có vẽ mũi tên muốn kéo bảng nhập liệu đến sát ô excel đang đánh nhưở hinh đính kèm dưới đây là ô C4...

bạn chụp lại màn hình khi nhấn ON/CÀI ĐẶT cho mình xem
 
Upvote 0
...
ps: nếu BQT thấy em dùng từ không đúng thì có thể sửa lại giúp em. hoặc có thể xóa đi cho rồi. lý do chủ đề sai khác nội dung trình bày và bài viết không có ý nghĩa thực tiễn.+-+-+-+

Chả có gì để phải sửa xoá cả.
Tôi chỉ có ý định nhân dịp này nói chuyện về cách sắp xếp code thôi. Nhưng nếu không tiện thì dịp khác. Hết.

Chú: cách sắp xếp theo từng sub/fucntion, theo modules, và cách viết code portable (lưu động)
 
Upvote 0
Chả có gì để phải sửa xoá cả.
Tôi chỉ có ý định nhân dịp này nói chuyện về cách sắp xếp code thôi. Nhưng nếu không tiện thì dịp khác. Hết.

Chú: cách sắp xếp theo từng sub/fucntion, theo modules, và cách viết code portable (lưu động)
Em rất mong anh hướng dẫn về nội dung trên.

Và nhân tiện, anh hướng dẫn phần này nữa. Em ví dụ đoạn sau:
Mã:
Function fRNG(rng As Range) As Variant
If rng.Columns.Count > 1 Then Exit Function
Dim Dic As Object: Set Dic = CreateObject("Scripting.Dictionary")
Dim r As Long, tmp() As Variant
tmp = rng.Value
For r = 1 To UBound(tmp, 1)
    If tmp(r, 1) <> "" And Not Dic.Exists(tmp(r, 1)) Then
        Dic.Add tmp(r, 1), ""
    End If
Next r
fRNG = Dic.Keys
End Function
"... mỗi lần hàm chạy lại phải dựng một đối tượng (object), chạy xong rồi huỷ đi, rất phí. Nếu viết hàm sử dụng nhiều trên bảng tính thì cũng có thủ thuật chỉ dựng đối tượng 1 lần."
(Em trích dẫn bài viết của anh ở link này: bài #14)
 
Lần chỉnh sửa cuối:
Upvote 0
Em rất mong anh hướng dẫn về nội dung trên (1).

Và nhân tiện, anh hướng dẫn phần này nữa. (2)[/code]

(1) Chủ thớt từ chối đưa code lên. Tôi thì hiếm khi tải file xlsb, xlsm về. Hẹn dịp khác.

(2) Bạn mở một thớt khác. Ở đây là đề tài khác.
(gợi ý: dùng biến static, tôi đã ví dụ 1 vài lần rồi. Tuy nhiên code ví dụ của bạn có thể không nằm trong trường hợp này)
 
Upvote 0
(1) Chủ thớt từ chối đưa code lên. Tôi thì hiếm khi tải file xlsb, xlsm về. Hẹn dịp khác.

(2) Bạn mở một thớt khác. Ở đây là đề tài khác.
(gợi ý: dùng biến static, tôi đã ví dụ 1 vài lần rồi. Tuy nhiên code ví dụ của bạn có thể không nằm trong trường hợp này)

Cảm ơn anh.

Chúc anh một tối vui!
 
Upvote 0
(1) Chủ thớt từ chối đưa code lên. Tôi thì hiếm khi tải file xlsb, xlsm về. Hẹn dịp khác.

(2) Bạn mở một thớt khác. Ở đây là đề tài khác.
(gợi ý: dùng biến static, tôi đã ví dụ 1 vài lần rồi. Tuy nhiên code ví dụ của bạn có thể không nằm trong trường hợp này)


Mới nậu về Hơi phê Mình nói vậy nghe xem có trúng không nói trật xin bỏ qua

static = Biến khai báo với từ khoá Static vẫn lưu tiếp giá trị của nó ngay cả khi thủ tục chứa khai báo của nó đã kết thúc

Không biết dòng to màu xanh mình nói có trúng không...xin cảm ơn
 
Upvote 0
Trả lời ngắn: đúng

Trả lời dài dòng:
Vùng nhớ được chia ra làm 2 phần, vùng nhớ đống chung (heap) và vùng nhớ ngăn xếp (stack)
Khi bước vào sub/function, tất cả những biến khai báo bên trong sub/function đều thuộc về ngăn xếp. Tất cả những tham ByVal được cóp py lại và có thể coi như là biến nội của sub/function và cũng nằm trong ngăn xếp. Biến static là trường hợp ngoại lệ, chúng thuộc về vùng nhớ đống chung, giống như biến toàn cục.
Khi hết sub/function (end/exit sub/function) tất cả những gì trong ngăn xếp liên quan đến sub/function này đều bị huỷ (kể cả những copy của tham ByVal). Biến static không thuộc về ngăn xếp nên khong bị huỷ, tức là nó vẫn giữ giá trị đó cho lần gọi sub/function kế tiếp.
Ở trên tôi có nói biến static và biến toàn cục đều nằm trong vùng nhớ chung, thế thì static khác biến toàn cục ở chỗ nào? Biến toàn cục là biến chung, tất cả sub/function đều thấy chúng. Biến static là biến nội của sub/function, các sub/function khác không thấy chúng. Từ "thấy" có thể hiểu là tương đương với "sử dụng, gán và truy cập được"

Lưu ý: thuộc tính static của class module thì lại khác nữa. Nhưng khá rắc rối để nói ở đây
 
Lần chỉnh sửa cuối:
Upvote 0
Từ chôi đưa code lên là sao bác. Toạn bộ code đều trong file mà. Làm gì có thư viện riêng đâu.

Chính tôi muốn bàn về cách tách thành thư viện riêng nên mới đề nghị tách code ra khỏi file dữ liệu. Và bạn từ chối thì thôi. Từ chối là quyền tự do của mỗi cá nhân. Đâu có ai bắt bẻ gì mà phải biện hộ.
 
Upvote 0
bạn chụp lại màn hình khi nhấn ON/CÀI ĐẶT cho mình xem
Untitled.jpg

Mình thấy đặt vị trí vẫn chưa tốt, vì mình thay đổi giá trị mà có lúc form không thay đổi vị trí. Test giữa các bảng, cột để đánh nhập liệu thì bảng nhập liệu hiện lúc bên này lúc bên khác.
 
Lần chỉnh sửa cuối:
Upvote 0
Bị lỗi: Khi click đúp vào một ô sheets("DATA") thì bị báo lỗi Run -time error '1004'. Bạn thử kiểm tra lại chắc là không bẫy lỗi
 
Upvote 0
Mình rất thích cách nghĩ của bạn :v 1k liked

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
Mình thấy đặt vị trí vẫn chưa tốt, vì mình thay đổi giá trị mà có lúc form không thay đổi vị trí. Test giữa các bảng, cột để đánh nhập liệu thì bảng nhập liệu hiện lúc bên này lúc bên khác.
đúng là đặt vị trí không tốt thật. tính cho người dùng thích đặt ở đâu thì đặt. nhưng nghĩ lại chắc thôi, không cho nữa, để mặc định luôn.
Bị lỗi: Khi click đúp vào một ô sheets("DATA") thì bị báo lỗi Run -time error '1004'. Bạn thử kiểm tra lại chắc là không bẫy lỗi
cảm ơn bạn , đúng là chưa thử các kiểu. đã chỉnh lại ở file bài #1
 
Upvote 0
Export ba mớ modules ra thành những file bas rồi đưa lên đây.
Phần mềm mã nguồn mở phải có khả năng gói gọn, tách rời được ra khỏi cái CSDL.
không
biết là có đúng ý của bác không, ngồi nguyên đêm qua xem cái vụ biến static gì đấy thì chỉ sửa được mỗi cái biến private ArrData0 as variant vào trong function à
còn mấy biến khác thì em chịu, chả nghĩ ra được cách.
hi vọng được bác chỉ thêm để biết nhiều cách giải thuật và tổ chức code tốt hơn, chứ cỡ em thì chỉ tổ chức được như thế. file này là còn dễ tìm với chỉnh sửa, còn file phục vụ cho công việc là 1 mớ bòng bong luôn. lỡ tay nhấn vô xóa toàn bộ chú thích, thế là 1 lèo chú thích trong file bay hết trơn. @@
còn đây là code trong file đó đây ạ.
 
Upvote 0
Chuyện biến (variables) là tôi trả lời cho các câu #37 và #40. Nó thuộc về bậc trung (bạn thấy khó à vì bạn học đốt giai đoạn, thiếu phần căn bản)

Chuyện chỉnh code để tạo cấu trúc lô gic và dễ phát triển là chuyện khác, không liên quan. Cái này thuộc về bậc cao. Nên để dịp khác vì nó không thể thực hiện trên code hiện tại của bạn.
 
Upvote 0
không
biết là có đúng ý của bác không, ngồi nguyên đêm qua xem cái vụ biến static gì đấy thì chỉ sửa được mỗi cái biến private ArrData0 as variant vào trong function à
còn mấy biến khác thì em chịu, chả nghĩ ra được cách.
hi vọng được bác chỉ thêm để biết nhiều cách giải thuật và tổ chức code tốt hơn, chứ cỡ em thì chỉ tổ chức được như thế. file này là còn dễ tìm với chỉnh sửa, còn file phục vụ cho công việc là 1 mớ bòng bong luôn. lỡ tay nhấn vô xóa toàn bộ chú thích, thế là 1 lèo chú thích trong file bay hết trơn. @@
còn đây là code trong file đó đây ạ.

Muốn hiểu bản chất vấn đề như bạn muốn thì:

+ đọc lại sách cơ bản về lập trình: biến, hằng và tầm vực hoạt động của nó
+ đừng đao to búa lớn vấn đề quá (với các chương trình tiện tích bé xíu này thì chiếm dụng bộ nhớ chẳng là cái đinh gì cả --> hãy chú trọng vào thuật toán)
+ về cấu trúc chương trình thì phụ thuộc nhiều vào cách tổ chức chủ quan, quan điểm của người viết. Còn muốn phát triển hãy thử sức với cái lớn cái to đi sẽ thấy mắc thấy cần bổ túc thêm gì, còn mấy cái nho nhỏ kiểu ở diễn đàn (bài giúp) thì bàn cho vui không hiệu quả nhiều.
 
Upvote 0
Tôi thấy topic của bạn là "Mã nguồn mở" mục đích là để được góp ý, sửa lỗi, thậm chí nâng cấp tính năng,... Qua mấy ngày rồi mình chưa thấy ai đóng góp trực tiếp vào code, nhưng mọi người và bản thân chủ topic lại đi hỏi lại từ vấn đề về khai báo biến - Căn bản đầu tiên của lập trình. Những câu hỏi kiểu "tranh thủ", kết hợp này làm chệch nội dung chính của chủ đề của topic.

Mình khuyên những bạn còn trẻ, nếu muốn học tốt lập trình VBA nên ít nhất tìm đọc sách, điều kiện hơn chút là tham gia học, đừng mò mẫm hết năm này qua năm khác vì tốn kém về thời gian mà trình đồ vẫn abc, thiếu căn cơ để phát triển sau này.
(Mình góp ý thẳng thắn chứ không liên quan đến việc học và dạy của mình nhé!)
 
Upvote 0
Tôi thấy topic của bạn là "Mã nguồn mở" mục đích là để được góp ý, sửa lỗi, thậm chí nâng cấp tính năng,... Qua mấy ngày rồi mình chưa thấy ai đóng góp trực tiếp vào code, nhưng mọi người và bản thân chủ topic lại đi hỏi lại từ vấn đề về khai báo biến - Căn bản đầu tiên của lập trình. Những câu hỏi kiểu "tranh thủ", kết hợp này làm chệch nội dung chính của chủ đề của topic.

Mình khuyên những bạn còn trẻ, nếu muốn học tốt lập trình VBA nên ít nhất tìm đọc sách, điều kiện hơn chút là tham gia học, đừng mò mẫm hết năm này qua năm khác vì tốn kém về thời gian mà trình đồ vẫn abc, thiếu căn cơ để phát triển sau này.
(Mình góp ý thẳng thắn chứ không liên quan đến việc học và dạy của mình nhé!)
Vâng!
em cảm ơn nhưng góp ý của thầy, đúng thật là em chưa rành về VBA hay lập trình, và em cũng chưa qua trường lớp nào về mấy món này cả, nên việc em không biết là điều dĩ nhiên thưa thầy.
mục đích đưa lên chủ yếu như thầy có nói. vì em không biết nhiều nên cần phải học hỏi thêm. và những bạn khác nếu có xem thì cũng có thể tham khảo thêm, em không có nói code em viết là tuyệt nhất, nhanh nhất. đúng là không được nhiều người quan tâm góp ý nhiều về việc giải thuật để tăng tốc hơn. nhưng cũng nhờ đó mà được bác VetMini chỉ thêm vụ biến static ngoài lề mà trước đây em không biết.
 
Upvote 0
Ồ Anh langtuchungtinh360 cũng vào hội "Thành viên sao chép" rồi sao. |||||
 
Upvote 0
Tôi thấy topic của bạn là "Mã nguồn mở" mục đích là để được góp ý, sửa lỗi, thậm chí nâng cấp tính năng,... Qua mấy ngày rồi mình chưa thấy ai đóng góp trực tiếp vào code, nhưng mọi người và bản thân chủ topic lại đi hỏi lại từ vấn đề về khai báo biến - Căn bản đầu tiên của lập trình. Những câu hỏi kiểu "tranh thủ", kết hợp này làm chệch nội dung chính của chủ đề của topic.

Mình khuyên những bạn còn trẻ, nếu muốn học tốt lập trình VBA nên ít nhất tìm đọc sách, điều kiện hơn chút là tham gia học, đừng mò mẫm hết năm này qua năm khác vì tốn kém về thời gian mà trình đồ vẫn abc, thiếu căn cơ để phát triển sau này.
(Mình góp ý thẳng thắn chứ không liên quan đến việc học và dạy của mình nhé!)

Mình đồng ý với ý kiến của Tuân (like bạn một cái). Tuy nhiên hồi đó mình học VBA cũng chẳng có căn bản gì, biết viết dăm ba cái code trước khi biết BIẾN là cái gì (chứ đừng nói là KHAI BÁO)
Vậy nên mình cũng ủng hộ quan điểm ĐAM MÊ VÀ DẠI KHỜ (như bạn langtuchungtinh360). Thích cái gì làm liền cái đó, thiếu kìến thức nào bổ sung kiến thức đó. Có đam mê rồi cũng sẽ có ngày ta lấp đầy được khoảng trống kiến thức mình thiếu
Không ngại nói thật: trước giờ mình chưa từng đọc một quyển sách nào về VBA (kể cả sách của diễn đàn). Kiến thức mình có được hoàn toàn là hỏi trực tiếp trên GPE hoặc các trang nước ngoài
Đường nào rồi cũng sẽ đến đích. Làm được thứ gì hữu ích phục vụ cho công việc, cho bản thân(dù nhỏ) là xem như thành công!
-----------------------------
Ý kiến cá nhân chứ không phải muốn truyền bá tư tưởng học "rừng" nên mong rằng sẽ không có những vụ tranh cãi đáng tiếc
 
Upvote 0
Mình đồng ý với ý kiến của Tuân (like bạn một cái). Tuy nhiên hồi đó mình học VBA cũng chẳng có căn bản gì, biết viết dăm ba cái code trước khi biết BIẾN là cái gì (chứ đừng nói là KHAI BÁO)
Vậy nên mình cũng ủng hộ quan điểm ĐAM MÊ VÀ DẠI KHỜ (như bạn langtuchungtinh360). Thích cái gì làm liền cái đó, thiếu kìến thức nào bổ sung kiến thức đó. Có đam mê rồi cũng sẽ có ngày ta lấp đầy được khoảng trống kiến thức mình thiếu
Không ngại nói thật: trước giờ mình chưa từng đọc một quyển sách nào về VBA (kể cả sách của diễn đàn). Kiến thức mình có được hoàn toàn là hỏi trực tiếp trên GPE hoặc các trang nước ngoài
Đường nào rồi cũng sẽ đến đích. Làm được thứ gì hữu ích phục vụ cho công việc, cho bản thân(dù nhỏ) là xem như thành công!
-----------------------------
Ý kiến cá nhân chứ không phải muốn truyền bá tư tưởng học "rừng" nên mong rằng sẽ không có những vụ tranh cãi đáng tiếc

Vâng. Em cũng like anh một cái vì một thời đam mê và dại khờ thành cao thủ :). Tuy nhiên ít người được như anh đấy nha... Thôi thì tùy điều kiện mỗi người vậy.
 
Upvote 0
Đa số học rừng là các người nổi ở GPE này, nhưng không đọc sách offline mà sách online thì cũng là cách học... Thực tế chứng minh là học trực tiếp VBA từ các lớp đa số là không thành công, thành công giúp người trên các forum thì lại càng hiếm (nếu không muốn nói là không có). Nghe có vẻ vô lý nhưng thực tế đang diễn ra ở đời thực.
 
Upvote 0
Mình đồng ý với ý kiến của Tuân (like bạn một cái). Tuy nhiên hồi đó mình học VBA cũng chẳng có căn bản gì, biết viết dăm ba cái code trước khi biết BIẾN là cái gì (chứ đừng nói là KHAI BÁO)
Vậy nên mình cũng ủng hộ quan điểm ĐAM MÊ VÀ DẠI KHỜ (như bạn langtuchungtinh360). Thích cái gì làm liền cái đó, thiếu kìến thức nào bổ sung kiến thức đó. Có đam mê rồi cũng sẽ có ngày ta lấp đầy được khoảng trống kiến thức mình thiếu
Không ngại nói thật: trước giờ mình chưa từng đọc một quyển sách nào về VBA (kể cả sách của diễn đàn). Kiến thức mình có được hoàn toàn là hỏi trực tiếp trên GPE hoặc các trang nước ngoài
Đường nào rồi cũng sẽ đến đích. Làm được thứ gì hữu ích phục vụ cho công việc, cho bản thân(dù nhỏ) là xem như thành công!
-----------------------------
Ý kiến cá nhân chứ không phải muốn truyền bá tư tưởng học "rừng" nên mong rằng sẽ không có những vụ tranh cãi đáng tiếc

Bạn so sánh không đúng lắm.
Tuy cùng là loại thích chỗ nào nhào vào chỗ ấy, nhưng người học một cách cẩn thận chỉ hỏi 1 câu, về nghiền ngẫm cả tuần lễ, sau đó mới hỏi tiếp. Bạn về thống kê lại giai đoạn mình còn đang học, tôi đoan chắc là trung bình chỉ hỏi 1 vài câu mỗi tuần.
Ngược lại, có nhiều ngừoi lại thích kiểu học hỏi lia hỏi lịa khong kịp để thấm.

Vì vậy tôi ủng hộ theo ý kiến bạn Tuân. Chịu khó đi từ căn bản, đọc sách là tốt nhất. Diễn đàn tốt hơn nên là chỗ để giải đáp khúc mắc. Và quan trọng hơn, là chỗ để trao đổi kinh nghiệm.

Xin nói rõ là tôi chả biết mặt mũi Tuân ra sao, và chả có phần gì trong sách hoặc các khoá dạy.
 
Upvote 0
Tôi thấy topic của bạn là "Mã nguồn mở" mục đích là để được góp ý, sửa lỗi, thậm chí nâng cấp tính năng,... Qua mấy ngày rồi mình chưa thấy ai đóng góp trực tiếp vào code, nhưng mọi người và bản thân chủ topic lại đi hỏi lại từ vấn đề về khai báo biến - Căn bản đầu tiên của lập trình. Những câu hỏi kiểu "tranh thủ", kết hợp này làm chệch nội dung chính của chủ đề của topic.

Mình khuyên những bạn còn trẻ, nếu muốn học tốt lập trình VBA nên ít nhất tìm đọc sách, điều kiện hơn chút là tham gia học, đừng mò mẫm hết năm này qua năm khác vì tốn kém về thời gian mà trình đồ vẫn abc, thiếu căn cơ để phát triển sau này.
(Mình góp ý thẳng thắn chứ không liên quan đến việc học và dạy của mình nhé!)
Cũng có nhiều người muốn tham gia học, nhưng không có điều kiện để đi học. Mong anh mở thêm lớp học trực tuyến, để tạo điều kiện cho những bạn không có điều kiện như em
 
Upvote 0
Đa số học rừng là các người nổi ở GPE này, nhưng không đọc sách offline mà sách online thì cũng là cách học... Thực tế chứng minh là học trực tiếp VBA từ các lớp đa số là không thành công, thành công giúp người trên các forum thì lại càng hiếm (nếu không muốn nói là không có). Nghe có vẻ vô lý nhưng thực tế đang diễn ra ở đời thực.

Không phủ nhận nhiều người có tiếng trên GPE là từ mò mẫm, đóng góp nhiều cho trao đổi GPE. Bản thân những người tự mò mẫm rồi thành danh tôi cho là xuất chúng, rất đam mê, họ không có nhiều đâu so với số lượng thành viên vài chục ngàn người, bản thân họ cũng phải âm thầm học bù đắp lỗ hổng bằng cách này hay cách khác và chắc chắn phải dành rất nhiều thời gian. Đôi khi những gì nhìn thấy chỉ là bề nổi, có ai biết mỗi ngày người ta dành 4-8 tiếng thậm chí là hơn để cày VBA? Những người bình thường liệu có điều kiện và đam mê để làm như vậy không? Nhiều người có trình độ rất tốt nhưng lại không có điều kiện hoặc họ không thích chia sẻ trên mạng nên mình khônh thấy thôi. Nếu kết luận học trực tiếp vba từ các lớp đa số không thành công là không chính xác. Hoặc có thể không may bạn đó học phải thầy không có căn cơ hay phủi. Nếu bạn lên Youtube xem một số người dạy VBA trên đó thì sẽ thấy cùi bắp rất nhiều và cũng đc gọi là "thầy". Có rất nhiều người với sức ép của yêu cầu công việc, thời gian phải hoàn thành, họ không có 2 hay 3 năm mò mẫm đâu, họ còn không biết bắt đầu từ đâu để hỏi VBA thế nào cho đúng thì việc đến tận trung tâm học với 2 tháng là họ đã biết mình cần làm gì và hỏi gì rồi, dù họ chưa thể là cao thủ nhưng nếu họ còn điều kiện và đam mê thì những nền tảng kiến thức họ sẽ vươn xa và nhanh hơn rất nhiều với việc mò mẫm nhiều năm.
Tôi không tiện khoe những đệ tử tôi dạy VBA từ con số không hiện nay đã có sản phẩm vba nhỏ trong tay vì sẽ bị cho là quảng cáo nhưng bản thân tôi là người cũng mò mẫm, cũng đọc sách và những sản phẩm tôi làm ra, tôi biết không nhiều người có điều kiện về thời gian tự nghiên cứu như tôi, tôi khuyên nên đọc sách online hay offline đều ok hết, có điều kiện thì chọn trung tâm tốt đi học như vậy công việc của các bạn không bị ách tắc. Diễn đàn GPE với cộng động phong phú, nhiều người nhiệt tình vẫn là nới giải quyết sự vụ tốt nhất.
 
Lần chỉnh sửa cuối:
Upvote 0
Cũng có nhiều người muốn tham gia học, nhưng không có điều kiện để đi học. Mong anh mở thêm lớp học trực tuyến, để tạo điều kiện cho những bạn không có điều kiện như em

Có em nhé. Em vào website bên anh xem chi tiết nhé! :)
 
Upvote 0
1/ Hôm Mình coi Tivi Hắn Nói: Ở Trung Quốc tỷ phú càng ngày càng gia tăng về số lượng ...Có cả tỷ phú về công Nghệ nhưng Hoàn toàn không biết gì về công Nghệ ...mà đặc biệt hầu hết tỷ phú đó chưa Học Qua bậc Đại Học bao giờ ....

2/ Thực Tế Mình thấy hầu hết mấy tay học cao Đẳng, Đại Học và Sau đại Học Toàn là những tay đi làm thuê cả ....

Còn mấy tay học hết lớp 12 thậm chí chưa hết cấp 2 Toàn ông Chủ cả ...

Nhớ lại ngày trước Mạnh làm cho tập đoàn tôn Hoa Sen Chủ tịch tập đoàn có học Đại Hoc bao giờ đâu ...Keo một tiếng mấy tay 2 ,3 bằng Đại học & thạc sĩ mặt Xanh như tàu lá ..........$$$$@###@#!
 
Upvote 0
Khổ nỗi học trên lớp thì thường nhàm chán và không máu như giải quyết một bài toán thực tế mà người ta hỏi trên GPE.
Theo tôi học bằng cách nào không quan trọng lắm. Quan trọng là phải có đam mê.

Tôi cũng khuyên các bạn muốn học VBA khi áp dụng code của người khác thì phải đọc và hiểu rõ code rồi mới áp dụng, không nên bê nguyên xi vào dự án của mình. Vì mỗi trường hợp có một cách giải quyết khác nhau, mang code chỗ này áp dụng chỗ khác miễn cưỡng có thể có kết quả đúng nhưng chắc chắc sẽ không phải là cách tốt nhất. Hơn nữa sẽ chẳng giúp ích gì cho việc tích lũy kiến thức cả.
 
Upvote 0
1/ Hôm Mình coi Tivi Hắn Nói: Ở Trung Quốc tỷ phú càng ngày càng gia tăng về số lượng ...Có cả tỷ phú về công Nghệ nhưng Hoàn toàn không biết gì về công Nghệ ...mà đặc biệt hầu hết tỷ phú đó chưa Học Qua bậc Đại Học bao giờ ....

2/ Thực Tế Mình thấy hầu hết mấy tay học cao Đẳng, Đại Học và Sau đại Học Toàn là những tay đi làm thuê cả ....

Còn mấy tay học hết lớp 12 thậm chí chưa hết cấp 2 Toàn ông Chủ cả ...

Nhớ lại ngày trước Mạnh làm cho tập đoàn tôn Hoa Sen Chủ tịch tập đoàn có học Đại Hoc bao giờ đâu ...Keo một tiếng mấy tay 2 ,3 bằng Đại học & thạc sĩ mặt Xanh như tàu lá ..........$$$$@###@#!

Đó là câu chuyện của các ông chủ lớn rồi, năng lực mạnh của họ là nối kết sức mạnh chuyên môn của nhiều người chứ bản thân họ không phải là người làm chuyên môn. Mọi người biết đến họ khi họ đã là ông chủ lớn, khi họ còn cu li bị mấy tay xã hội cho gội đầu băng nước tiểu thì ai biết (Nói vui thôi :) ). Ở đâu đó người ta nói số lượng các tỷ phú loại này nhỏ lắm so với hàng triệu người làm doanh nhân, nhiều người bỏ bê học hành để "làm giàu không khó" cũng trả giá nhiều lắm... Xét cho cùng vẫn là hiện tượng hay bề nổi mà chúng ta nhìn thấy mà thôi.

Thôi mình không bàn luận về mấy cái vấn đề học hay không học trên GPE này nữa. Dành không gian cho các bạn góp ý tới nội dung chính của topic này.

Mình góp ý cho chủ topic là sản phẩm chạy trên máy mình thì không lỗi nhưng mang sang máy khác lại lỗi tung tóe. Một trong các nguyên nhân căn bản là các thiết lập trong Registry, Ocx, Dll , 32-bit, 64-bit, các phiên bản Office khác nhau. Máy của người dùng không có sẵn những thiết lập như máy người lập trình. Vậy trong lập trình phải luôn chú ý tới "Môi trường người dùng" bình thường, bẫy các lỗi thật kỹ. Bạn chú ý để các bản nâng cấp sau không mắc phải lỗi đó. Hiện nay file ngày 26-02 của bạn đang bị lỗi như vậy.
 
Upvote 0
1/ Hôm Mình coi Tivi Hắn Nói: Ở Trung Quốc tỷ phú càng ngày càng gia tăng về số lượng ...Có cả tỷ phú về công Nghệ nhưng Hoàn toàn không biết gì về công Nghệ ...mà đặc biệt hầu hết tỷ phú đó chưa Học Qua bậc Đại Học bao giờ ....

2/ Thực Tế Mình thấy hầu hết mấy tay học cao Đẳng, Đại Học và Sau đại Học Toàn là những tay đi làm thuê cả ....

Còn mấy tay học hết lớp 12 thậm chí chưa hết cấp 2 Toàn ông Chủ cả ...

Đại Học, hay nói chung cho tất cả các loại bằng cấp chỉ là một cái mốc người ta dùng để dễ định trình độ của một người mà thôi. Nó không phải là cái tieu chuẩn cứng nhắc và duy nhất.

Tỷ phú công nghệ không cần phải biết gì về công nghệ. Họ có những trợ lý chuyên về công nghệ để cố vấn. Đấy mới là cách làm việc hiệu quả.
Nếu bắt buộc sếp phải hiểu sâu về công nghệ thì chả nhẽ một TGĐ tập đoàn lớn phải biết tất cả kỹ thuật của tất cả mọi công nghệ mà tập đoàn dự vào? Cứ mỗi ngành học 1 vài năm thì bao giờ bạn mới đào tạo được 1 TGĐ?

Khổ nỗi học trên lớp thì thường nhàm chán và không máu như giải quyết một bài toán thực tế mà người ta hỏi trên GPE.
Theo tôi học bằng cách nào không quan trọng lắm. Quan trọng là phải có đam mê.

Tôi cũng khuyên các bạn muốn học VBA khi áp dụng code của người khác thì phải đọc và hiểu rõ code rồi mới áp dụng, không nên bê nguyên xi vào dự án của mình. Vì mỗi trường hợp có một cách giải quyết khác nhau, mang code chỗ này áp dụng chỗ khác miễn cưỡng có thể có kết quả đúng nhưng chắc chắc sẽ không phải là cách tốt nhất. Hơn nữa sẽ chẳng giúp ích gì cho việc tích lũy kiến thức cả.

Đó là 1 trong những lý do tôi khuyên các bạn mới học nên mua hẳn 1 quyển sách về học. Nếu bạn nào có can đảm và nhẫn nại để đọc không sót 1 từ, và không bỏ qua 1 bài tập cho đến khoảng 1/3 quyển sách thì bạn ấy đầy đủ cơ hội để thành công.

Đồng thời, khi nhận ra bạn nào học theo kiểu đốt giai đoạn, tôi cũng thẳng thừng bảo bạn ấy về học lại. Thực ra câu nhắn không hẳn giành cho bạn ấy (ngừoi ta đã nóng nảy học cho gấp thì còn khuyên ngăn thế nào nữa). Tôi chỉ dùng cơ hội để khuyến cáo các bạn khác chập chững bước vào, đừng noi theo vết xe đó thôi.
 
Upvote 0
Đa số học rừng là các người nổi ở GPE này, nhưng không đọc sách offline mà sách online thì cũng là cách học... Thực tế chứng minh là học trực tiếp VBA từ các lớp đa số là không thành công (1), thành công giúp người trên các forum thì lại càng hiếm (nếu không muốn nói là không có) (2). Nghe có vẻ vô lý nhưng thực tế đang diễn ra ở đời thực.

(1) Cái bạn gọi là "thực tế chứng minh" đối với tôi chỉ là hiện tượng "thiểu số to mồm"
Có những kẻ không chịu hiểu rằng học là do mình. Mình khong cố tâm học thì chả có trường có thầy nào dạy nổi. Bước vào học VBA mà muốn bước ra sẽ viết được những cái "giao diện" thật hoành tráng, cái gì cũng "tự động" chạy vèo vèo thì đương nhiên là thất vọng.
Cái số đông học được những gì họ cần thì cứ âm thầm tiến tới. La lối làm chi cho tổn hơi.

Lưu ý là ở hai câu trên, tôi cố tình tương phản hai từ "muốn" và "cần". Trích câu tiếng Anh "separating what you need from what you want is the first step..."

(2) nhận xét chủ quan (nếu khong muốn nói là thiển cận và thiên lệch).

Nếu nói chuyện học lớp thì hầu hết ngừoi học lớp là có việc cần. Học xong thì ngừoi ta mắc làm việc. Và nếu có vào pho rum này nọ thì người ta cũng chả nêu ra là mình học ở đâu. Làm sao bạn biết? Điển hình là bạn biết tôi học ở đâu không?

Nếu nói chuyện tự học thì điển hình là ở đây có thiếu chi kẻ "thành công mà giúp ngừoi". Gọi như vậy là "hiếm" thì tôi chịu thua
Hoặc là điều kiện để được gọi là "thành công" của bạn quá cao, ở đây chỉ có 1-2 người đạt.
Hoặc là điều kiện để được gọi là "giúp người" của bạn quá khắt khe, ở đây không có ai từng đạt được cả.

Lưu ý là tôi không tự biện hộ cho mình. Tôi là kẻ ngạo mạn, và có thể "khinh ngừoi" như nhiều thành viên ở đây đã phê bình.
 
Upvote 0
Tôi nói thực tế là thực tế tại đây, GPE này, đó là thực tế không chối cãi. Lớp học cũng nói vào thực luôn là lớp học VBA (hỏi những người người học từ lớp học đó sẽ hiểu (?)).

Còn nếu đã nói là
Lưu ý là tôi không tự biện hộ cho mình. Tôi là kẻ ngạo mạn, và có thể "khinh ngừoi" như nhiều thành viên ở đây đã phê bình.
thì không còn gì để bàn và nói nữa loãng topic

Chúng ta nên trở lại chuyên môn của topic này , giúp tác giả được phần nào thì giúp tránh chỉ chém gió các vấn đề to lớn quá.
 
Upvote 0
Chúng ta nên trở lại chuyên môn của topic này , giúp tác giả được phần nào thì giúp tránh chỉ chém gió các vấn đề to lớn quá.
Like cho bác 1 phát. em thấy ngày càng bàn ra xa vấn đề của topic. em chỉ muốn đưa lên chia sẻ cho những ai chưa biết để cùng học hỏi với nhau. sẵn em học hỏi thêm nếu có giải thuật nào khác. từ từ thấy càng ngày càng xa chủ đề. **~**
 
Upvote 0
Tôi nói thực tế là thực tế tại đây, GPE này, đó là thực tế không chối cãi. Lớp học cũng nói vào thực luôn là lớp học VBA (hỏi những người người học từ lớp học đó sẽ hiểu (?)).

Nhận định cá nhân là nhận định cá nhân. Muốn coi là thực tế thì phải đưa dữ liệu chứng minh. Còn đem 1 vài trường hợp ngang nhiên trở thành "không chối cãi" thì là quơ đũa cả nắm.
Cứ cụ thể đưa rõ ra. Đã là mắng người thì úp úp mở mở cũng vậy thôi.
 
Lần chỉnh sửa cuối:
Upvote 0
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)
Link #1
 
Upvote 0
em biết là được nhưng làm sao kiểm tra được số nào nó là ngày để chuyển cho đúng. như số 1 thôi nó cũng chuyển được thành là 1/1/1900 mà bác.

+ Đúng bài bản thì bạn phải đẩy cái đó về phía người dùng, cho người dùng (người sử dụng chương trình) chọn kiểu FORMAT cho từng cột (ở cả list chọn , lẫn kết quả trên sheet (cái này có thể không có))
+ hoặc bạn cho code tự động nhận dạng từ dữ liệu DATA nguồn nhập vào để xác định đúng kiểu FORMAT
 
Upvote 0
+ Đúng bài bản thì bạn phải đẩy cái đó về phía người dùng, cho người dùng (người sử dụng chương trình) chọn kiểu FORMAT cho từng cột (ở cả list chọn , lẫn kết quả trên sheet (cái này có thể không có))
+ hoặc bạn cho code tự động nhận dạng từ dữ liệu DATA nguồn nhập vào để xác định đúng kiểu FORMAT
đã sửa 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)
vẫn chưa test sự chính xác. mong mọi người tìm lỗi giúp
 
Upvote 0
Lỗi: Khi nhập ngày tháng list nhập liệu không tìm được.
 
Upvote 0
Lỗi: Khi nhập ngày tháng list nhập liệu không tìm được.
bạn
tìm thế nào mà không được vậy bạn? nói rõ hơn đi.
mình đã thử, vẫn ngon lành cành đào mà
trường hợp bạn tìm không ra kết quả chắc là không có ngày trong list đó rồi
xem thử vide mình tìm cả 3 cách nhé
1/1/2016
1-1-2016
42370
kiểu nào cũng ra được cả, sẽ xuất kết quả theo như dữ liệu nguồn của bạn nhé. dữ liệu nguồn thế nào nó ra thế đó. chứ nó không thông minh để tự nhận dạng cái nào ngày mà tự chuyển cho bạn đâu. nếu bạn chơi ngày với số trộn lẫn thì thua, tôi chưa đủ trình độ để có thể viết cho nó có thể nhận dạng được nó là ngày hay số
[video=youtube;lkxYfDcGP9w]https://www.youtube.com/watch?v=lkxYfDcGP9w&amp;feature=youtu.be[/video]
 
Upvote 0
Hii!mình download của bạn về không hiểu sao danh sách nhập liệu ở cột 4 thời gian nó không định dạng như trên youtube mà bạn đã đăng.
Vì không định dạng đúng nên mới phát sinh nhập không đúng ngày tháng bạn ah. Bản mình đăng lên youtube là bản ListSearch-V1.1-18h00 03-03-17
[video=youtube;NQ7z-s9nIxQ]https://www.youtube.com/watch?v=NQ7z-s9nIxQ&amp;feature=youtu.be[/video]
 
Lần chỉnh sửa cuối:
Upvote 0
Hii!mình download của bạn về không hiểu sao danh sách nhập liệu ở cột 4 thời gian nó không định dạng như trên youtube mà bạn đã đăng.
Vì không định dạng đúng nên mới phát sinh nhập không đúng ngày tháng bạn ah. Bản mình đăng lên youtube là bản ListSearch-V1.1-18h00 03-03-17
video không xem được nhé bạn, vấn đề bạn nói chắc là cũ rồi hay sao ấy. lúc sau mình có sửa lại vài chỗ để tìm ngày chính xác hơn. chắc là do chưa up link lên. bạn xem file mới nhất #1 nhé
 
Upvote 0
video không xem được nhé bạn, vấn đề bạn nói chắc là cũ rồi hay sao ấy. lúc sau mình có sửa lại vài chỗ để tìm ngày chính xác hơn. chắc là do chưa up link lên. bạn xem file mới nhất #1 nhé

Hii, minh quên không đặt public nên không xem được. mình đã chỉnh lại.
Bản sửa mởi của bạn đã nhập đúng được rồi.
Nhưng về sắp xếp list lại bị lỗi.
[video=youtube;nDk6PbRa2LY]https://www.youtube.com/watch?v=nDk6PbRa2LY&amp;feature=youtu.be[/video]
 
Upvote 0
Hii, minh quên không đặt public nên không xem được. mình đã chỉnh lại.
Bản sửa mởi của bạn đã nhập đúng được rồi.
Nhưng về sắp xếp list lại bị lỗi.
bạn xem file 10h30 tại #1 nhé.
vừa phát hiện ra hàm sắp xếp nó bị sai đã sửa lại
 
Upvote 0
Hi! Chạy office2010 64bit nó bị crash (tắt excel và khởi động lại excel) khi click vào ô để chọn.
 
Upvote 0
ối trời, tải file của bạn về mà mình mò mãi mà cũng không biết cách để làm nó chạy.
 
Upvote 0
Upvote 0
Có một vấn để nhỏ em chưa hiểu. Gia sử code chạy ngon rồi, người dùng mở một file .xlsm có chứa macro, và người dùng tiện tay tắt không cho macro chạy. Lúc đó chương trình của anh còn chạy được nữa không, lúc đó hành động nhập dữ liệu có còn tạo ra sự kiện để lọc, và lúc đó textbox sẽ có đường viền áp chỉ text box đang được chọn.
 
Upvote 0
Có một vấn để nhỏ em chưa hiểu. Gia sử code chạy ngon rồi, người dùng mở một file .xlsm có chứa macro, và người dùng tiện tay tắt không cho macro chạy. Lúc đó chương trình của anh còn chạy được nữa không, lúc đó hành động nhập dữ liệu có còn tạo ra sự kiện để lọc, và lúc đó textbox sẽ có đường viền áp chỉ text box đang được chọn.

Hãy biến file ở topic thành ADDins bạn có thể dùng được
Cách tạo ADDins thì bạn tìm ở diễn đàn nhé.
 
Upvote 0
Mình góp ý tới tác giả là trong các code nên ghi chú thông tin người tạo ra code này. Đoạn code nào của mình thì ghi đầu module của mình, hàm nào của người khác thì comment người đó. Đây là cách làm văn minh để ghi nhận giá trị mình là ra và đóng góp của người khác, góp phần ngăn ngừa/thông báo người khác không nên copy nhặt rồi biến thành của riêng. Việc sao chép, xóa tên tác giả sẽ không làm cho công đồng những người sáng tạo muốn chia sẻ. Việc ghi thông tin của mình như email cũng là để giúp người khác khi vận dụng gặp khó khăn.
 
Upvote 0
Tính năng này giống A-Tool. Tính năng Nhập Liệu Nâng Cao trên A-Tool phải nói wá đỉnh.
Còn form này chỉ cần fix các hạn chế sau là cũng không phải dạng vừa:
- Di chuyển con trỏ vào thì chưa tương tác vội, khi nào nhập liệu thì mới hiện list
- Củng cố lại khả năng search
Vấn đề cải thiện tốc độ chắc khó phải tích hợp API như anh Tuân nói. A-Tool có tính năng tự động scale chiều rộng list wá dữ nhưng tính năng này dành cho chuyên nghiệp rồi.
Mong có bản cải thiện đáng kể, cám ơn mọi người.
 
Upvote 0

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

Back
Top Bottom