Tạo form tìm kiếm trong worksheet (nhờ các bạn viết giúp code)

Liên hệ QC

spectre1

Thành viên mới
Tham gia
14/4/09
Bài viết
29
Được thích
2
Mình có file dữ liệu (đính kèm), nếu tìm bằng ctrl +f sẽ rất mất thời gian vì dữ liệu của mình là số,mình đã tạo form để tìm kiếm cho nhanh nhưng k biết viết code thế nào nhờ các bạn giúp mình. Yêu cầu dự liệu cần tìm chỉ tại cột A, và tìm chính xác số đó.
Khi k tìm thấy sẽ hiện mesgbox thông báo.
Thanks
 

File đính kèm

  • STD.rar
    152.8 KB · Đọc: 36
Mình có viết code như thế này
Mã:
Private Sub CommandButton1_Click()
    Range("A7:A65000").Select
    Cells.Find(What:=TextBox1, _
    After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
nhưng khi tìm nó vẫn tìm giá trị cả ở ô khác, mình muốn nó chỉ tìm ở những ô mình đã chọn thì làm như thế nào? Mình muốn thêm mesbox thông báo khi không tìm thấy giá trị nữa, thay vì không tìm thấy nó báo lỗi code. Nhờ các bác giúp
 
Upvote 0
Hình như số liệu của bạn bố trí chưa được chuẩn? -+*/

Bạn nên tách Họ, tên và Mã thẻ thành 2 cột để hỗ trợ search 2 cột này khi cần.
Mỗi số ĐT chỉ có 1 row duy nhất -> rất tiện để lọc.

 
Lần chỉnh sửa cuối:
Upvote 0
Hình như số liệu của bạn bố trí chưa được chuẩn? -+*/

Bạn nên tách Họ, tên và Mã thẻ thành 2 cột để hỗ trợ search 2 cột này khi cần.
Mỗi số ĐT chỉ có 1 row duy nhất -> rất tiện để lọc.
View attachment 110858
Vâng lúc trước mình để như thế cho tiện, giờ dự liệu nhiều lên lại thấy nó bất tiện. Bạn tách như thế nào giúp mình đc k? Còn phần code tìm kiếm nữa
 
Upvote 0
Cách của bạn ok, nhưng mình muốn cho nút nhả lọc vào ngay trong khung filte được k? Bạn giúp mình viết code này vào file của mình đc k? Trong form filte mình chỉ cần ô STĐ, Họ tên, Mã thẻ, năm sinh là được
 
Upvote 0
"nhưng mình muốn cho nút nhả lọc vào ngay trong khung filte được k? Bạn giúp mình viết code này vào file của mình đc k? Trong form filte mình chỉ cần ô STĐ, Họ tên, Mã thẻ, năm sinh là được"

OK !
-+*/
 
Upvote 0
Còn phần tách cột họ tên và mã thẻ có cách nào một lúc tách được hết k bạn? nếu tách từng cột thì mất thời gian quá
 
Upvote 0
Bạn tách luôn giúp mình thì càng tốt, k chỉ mình cách cũng đc
Cái STĐ đó mới là quan trọng đó bác hix. Nó như là ID của từng người, k thể đảo lộn cái đó sang người khác đc, những ô trống là do thiếu dữ liệu mình chưa thể nhập đủ vào thôi.
 
Upvote 0
Mình sắp xếp và xóa đến STĐ 225 thì Stop vì thấy no' bi lệch. **~**
 
Upvote 0
vậy là k tách đc tiếp à? vậy thôi cứ để như thế cho mình cũng đc. khi nào có thời gian ngồi mần từng cái vậy -+*/
À đúng rồi cái ô đó nó bị lệch thật, chắc do lúc nhập mình nhập bị lệch mã thẻ xuống ô 226. giờ cậu chuyển nó lên ô 225 chắc lại đc thôi
 
Lần chỉnh sửa cuối:
Upvote 0
"vậy là k tách đc tiếp à? vậy thôi cứ để như thế cho mình cũng đc. khi nào có thời gian ngồi mần từng cái vậy -+*/
À đúng rồi cái ô đó nó bị lệch thật, chắc do lúc nhập mình nhập bị lệch mã thẻ xuống ô 226. giờ cậu chuyển nó lên ô 225 chắc lại đc thôi"


cái này để mình xem cách nào là tiện nhất rồi nói sau. -+*/

H thì bạn test form này trước nha !:-=

http://www.mediafire.com/?4eywyd0oamlkgpo
 
Upvote 0
Ok. để mình thử xem thế nào. Cảm ơn bạn nhiều nhé
 
Upvote 0
filte chạy rất tốt cảm ơn bạn nhiều nhé, giờ còn phần tách tên nữa thôi, vì k tách lúc tìm theo STD những ô chưa tách sẽ k xem đc mã thẻ sẽ hơi bất tiện
 
Upvote 0
"giờ còn phần tách tên nữa thôi, vì k tách lúc tìm theo STD những ô chưa tách sẽ k xem đc mã thẻ sẽ hơi bất tiện"

Mình cũng làm xong phần đó luôn rồi
**~**
Mình đã tách ô Mã thẻ sang phải và lên trên. Bạn hãy check từ trên xuống xem có ổn ko hỉ? Nếu dữ liệu vào ko bị lệnh như row 223 thì nó hoàn toàn chính xác.

Tiếp đến mình đã tạo công thức cho cột A để tìm ra các row cần xóa. Bạn cũng xem thử điều kiện đó đã chính xác chưa. Nếu kiểm tra từ trên xuống ko có vấn đề gì thì bấm nút DeleteRowWithContents thì các row có chứa chữ Xrow của cột A sẽ được xóa.

Còn giá trị True thì bạn chọn nguyên cột A - Delete là xong hen ! :-=

http://www.mediafire.com/?jkgygfkke5ipo4d
 
Upvote 0
Mình vừa phát hiện 3 row có số liệu điền ko khớp.
2741
3703
4847
Bạn chỉnh lại 3 chỗ đó nha.

 
Upvote 0
ok. để mình thử lại. Cảm ơn bạn nhiều nhé, bạn nhiệt tình quá
 
Upvote 0
Thêm các trường hợp sau nữa **~**

468 : so lieu vao ko khop
1598, 1878 : co ma~, nam sinh, ko co ten
4847 : nam sinh bi lech xuong duoi


 
Upvote 0
Thêm các trường hợp sau nữa **~**

468 : so lieu vao ko khop
1598, 1878 : co ma~, nam sinh, ko co ten
4847 : nam sinh bi lech xuong duoi


Được như vậy là tốt lắm rối ban. Dự liệu sai mình sẽ nhập lại sau cũng được. Cảm ơn bạn nhiều nhé. Chúc bạn ngủ ngon
Cái này có share trong mang Lan nó có chạy k bạn
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom