Nhờ trợ giúp về ô textbox tìm kiếm nhanh - dù ít dòng, nhưng chậm kinh khủng

Liên hệ QC

Lưu Thịnh 16

Thành viên mới
Tham gia
29/10/18
Bài viết
18
Được thích
0
Mình gà mờ về VBA, có file quản lý khách hàng của công ty, cũng học hỏi trên diễn đàn của mình và ra được những chức năng ưng ý.
Mình muốn có ô textbox ở sheet "THI SINH CHUA THI", mình đã tạo rồi, tuy nhiên mình gõ vào để tìm kiếm mà nó chậm khủng khiếp, cứ giật giật.
Cũng công thức tạo textbox tìm kiếm này, mình làm ở file khác thì nó nhanh và mượt lắm.
Nhờ mọi người đọc file và chỉ ra cho mình lỗi ở đâu mà file này chậm quá
Cảm ơn cả nhà ạ!
 

File đính kèm

Rất buồn với thiết kế CSDL của bạn & chắc 1 điều là mình không dám rới vô file này.
Lí do thì rất nhiều, sau đây mình xin nêu 1 vài trong chúng:

1./ Trang tính không nên xài tiếng Việt có dấu; Bản thân bạn chắc gì đã xài chỉ 1 kiểu font chữ cho tất thẩy các loại máy tính xài file này.
Tên trang tính nên xúc tích hơn; Thay vì 'THI SINH CHUA THI' sao không là 'TSChuaThi', . . .
2./ Tại trang tính này, 4 tiêu đề cột lại để trống (CHR(10)) làm vậy? Ai truyền đạt kiến thức này cho bạn vậy?
3./ File có vài trăm dòng dữ liệu, nhưng bạn xài câu lệnh này không chậm sao được:
PHP:
Sub ngaythang()
    ActiveSheet.Range("A2").Sort Key1:=ActiveSheet.Columns("A"), Order1:=xlAscending, Header:=xlGuess
    Range("A2:R10000").WrapText = True  
End Sub
4./ Trang chứa dữ liệu chính iếu của bạn thiếu cột/trường quan trong đó là số báo danh hay mã HS/HViên
Theo mình trường này quyết định sự sống còn của 1 CSDL
5./ Các trang tính 'DS Thi Lai' hay 'DS Đỗ' chỉ nên là 1 (hay 2 cột là cùng) trên trang chứa CSDL
Nội dung các trang này khi cần ta tiến hành lọc ra từ trang CSDL
. . . . .
Bạn nên bổ sung cho mình kiến thức để xây dựng 1 CSDL trước khi xài đến VBA thì hay hơn.
 
Upvote 0
Rất buồn với thiết kế CSDL của bạn & chắc 1 điều là mình không dám rới vô file này.
Lí do thì rất nhiều, sau đây mình xin nêu 1 vài trong chúng:

1./ Trang tính không nên xài tiếng Việt có dấu; Bản thân bạn chắc gì đã xài chỉ 1 kiểu font chữ cho tất thẩy các loại máy tính xài file này.
Tên trang tính nên xúc tích hơn; Thay vì 'THI SINH CHUA THI' sao không là 'TSChuaThi', . . .
2./ Tại trang tính này, 4 tiêu đề cột lại để trống (CHR(10)) làm vậy? Ai truyền đạt kiến thức này cho bạn vậy?
3./ File có vài trăm dòng dữ liệu, nhưng bạn xài câu lệnh này không chậm sao được:
PHP:
Sub ngaythang()
    ActiveSheet.Range("A2").Sort Key1:=ActiveSheet.Columns("A"), Order1:=xlAscending, Header:=xlGuess
    Range("A2:R10000").WrapText = True 
End Sub
4./ Trang chứa dữ liệu chính iếu của bạn thiếu cột/trường quan trong đó là số báo danh hay mã HS/HViên
Theo mình trường này quyết định sự sống còn của 1 CSDL
5./ Các trang tính 'DS Thi Lai' hay 'DS Đỗ' chỉ nên là 1 (hay 2 cột là cùng) trên trang chứa CSDL
Nội dung các trang này khi cần ta tiến hành lọc ra từ trang CSDL
. . . . .
Bạn nên bổ sung cho mình kiến thức để xây dựng 1 CSDL trước khi xài đến VBA thì hay hơn.

Vâng ạ. Em biết là mình cóp nhặt nên nó không được mượt.
Nhờ anh xem sao gõ vào ô tìm kiếm sao nó nhảy ra chậm quá ạ.
hic hic.
 
Upvote 0
Ở sheet "THI SINH CHUA THI" của bạn đã sử dụng Conditional Format cho hết cả cột
Sheet "Tin nhan" thì Conditional Format từ C3 → hết cột
Chỉ nên Conditional Format đến dòng cần dùng mà thôi!
 
Upvote 0
Mình gà mờ về VBA, có file quản lý khách hàng của công ty, cũng học hỏi trên diễn đàn của mình và ra được những chức năng ưng ý.
Mình muốn có ô textbox ở sheet "THI SINH CHUA THI", mình đã tạo rồi, tuy nhiên mình gõ vào để tìm kiếm mà nó chậm khủng khiếp, cứ giật giật.
Cũng công thức tạo textbox tìm kiếm này, mình làm ở file khác thì nó nhanh và mượt lắm.
Nhờ mọi người đọc file và chỉ ra cho mình lỗi ở đâu mà file này chậm quá
Cảm ơn cả nhà ạ!
Mục đích của bạn lọc để làm gì.Mình có thể viết code theo cách khác.
 
Upvote 0
Danh sách này mình cần cập nhật thường xuyên, nên tìm ra để cập nhật từng bạn 1. Bình thường mình dùng Ctrl + F nhưng muốn tạo ô cho tiện.
Trang CSDL này giống như trái tim của File;
Bạn cứ thích đụng vô nó thì có ngày nó trở thành đống rác cho coi!
Sao bạn lại chối từ AdvancedFilter kia chứ?
 
Upvote 0
Trang CSDL này giống như trái tim của File;
Bạn cứ thích đụng vô nó thì có ngày nó trở thành đống rác cho coi!
Sao bạn lại chối từ AdvancedFilter kia chứ?
Vâng. Mình hiểu. Nhưng sheet đấy mình quản lý những bạn nào chưa thi thôi, 5 ngày là nó được thi, thi xong mình lại xóa đi. 1 tháng có 10 lịch thi nên trên danh sách này phải cập nhật thường xuyên
Không hiểu sao cái ô tìm kiếm kia nó chạy giật lag quá. Còn các chức năng khác vẫn mượt.
 
Upvote 0
Mình gà mờ về VBA, có file quản lý khách hàng của công ty, cũng học hỏi trên diễn đàn của mình và ra được những chức năng ưng ý.
Mình muốn có ô textbox ở sheet "THI SINH CHUA THI", mình đã tạo rồi, tuy nhiên mình gõ vào để tìm kiếm mà nó chậm khủng khiếp, cứ giật giật.
Cũng công thức tạo textbox tìm kiếm này, mình làm ở file khác thì nó nhanh và mượt lắm.
Nhờ mọi người đọc file và chỉ ra cho mình lỗi ở đâu mà file này chậm quá
Cảm ơn cả nhà ạ!
Góp ý cho bạn:
1/ Tất cả danh sách nên theo dõi chung 1 sheet và thêm cột loại.
2/ Muốn tách từng danh sách thì dựa vào cột loại hoặc sử dụng 1 sheet trích lọc (thì dùng Advanced Filter như bài 7 đã nêu).
 
Upvote 0
Mọi người xem giúp mình vì sao gõ tên vào ô textbox để lọc ra thí sinh. Gõ vào mà nó giật, lag, chậm lắm.
 
Upvote 0
Mọi người xem giúp mình vì sao gõ tên vào ô textbox để lọc ra thí sinh. Gõ vào mà nó giật, lag, chậm lắm.
Máy tôi yếu nên tôi không dò nhưng ...

Chỉ là "thí sinh chưa thi" mà bạn cần dữ liệu (Data Validation) tới tận dòng 10158?

Bạn nói mọi thao tác khác đều bình thường? Vậy hãy thử: mở tập tin -> chuyển sang sheet "THI SINH CHUA THI" -> mở thẻ DATA -> trạng thái đang lọc -> bạn nhấn vào Filter để bỏ lọc. Thao tác này nhanh bình thường hay cũng rất lâu?

Đề nghị: bạn thử xóa các dòng từ 431 tới 10158: chọn 431 tới 10158 -> DELETE -> lưu lại tập tin. Bây giờ gõ vào TextBox vẫn ỳ ạch hay nhanh?
 
Upvote 0
Máy tôi yếu nên tôi không dò nhưng ...

Chỉ là "thí sinh chưa thi" mà bạn cần dữ liệu (Data Validation) tới tận dòng 10158?

Bạn nói mọi thao tác khác đều bình thường? Vậy hãy thử: mở tập tin -> chuyển sang sheet "THI SINH CHUA THI" -> mở thẻ DATA -> trạng thái đang lọc -> bạn nhấn vào Filter để bỏ lọc. Thao tác này nhanh bình thường hay cũng rất lâu?

Đề nghị: bạn thử xóa các dòng từ 431 tới 10158: chọn 431 tới 10158 -> DELETE -> lưu lại tập tin. Bây giờ gõ vào TextBox vẫn ỳ ạch hay nhanh?

Làm cách nào để chọn vùng lọc này nhỏ đi vậy ạ? Mình xóa từ 431 tới 10158 đi rồi mà lúc gõ vào textbox nó vẫn chậm, và dòng cuối của nó vẫn là 10158. Hic. Cái này mình không hiểu được, bạn giúp với.
 
Upvote 0
Làm cách nào để chọn vùng lọc này nhỏ đi vậy ạ? Mình xóa từ 431 tới 10158 đi rồi mà lúc gõ vào textbox nó vẫn chậm, và dòng cuối của nó vẫn là 10158. Hic. Cái này mình không hiểu được, bạn giúp với.
Không phải xóa nội dung nhé. Xóa dòng.

Nếu đã xóa dòng mà vẫn chậm thì đính kèm cái tập tin ấy lên đây.
 
Upvote 0
Không phải xóa nội dung nhé. Xóa dòng.

Nếu đã xóa dòng mà vẫn chậm thì đính kèm cái tập tin ấy lên đây.

Vâng. Mình xóa dòng mà. Hic
Lúc gõ vào textbox nó vẫn chậm, và mình để ý, cái vùng nó chọn có dòng cuối cùng đúng là 10158 như bạn nói.
File chậm chính là file mình gửi ngay từ đầu đấy ạ.

Có điều, cái vùng 10158 chính là cái vùng từ đầu mình tạo file, kéo đến đấy để kẻ ô.
 
Upvote 0
Bạn nói bạn đã xóa dòng mà vẫn chậm. Vậy tôi nói
Nếu đã xóa dòng mà vẫn chậm thì đính kèm cái tập tin ấy lên đây.
File chậm chính là file mình gửi ngay từ đầu đấy ạ.
Tập tin đầu là chưa xóa dòng. Tôi yêu cầu đính kèm tập tin đã xóa dòng mà bạn khẳng định là vẫn quá chậm
 
Upvote 0
Bạn nói bạn đã xóa dòng mà vẫn chậm. Vậy tôi nói


Tập tin đầu là chưa xóa dòng. Tôi yêu cầu đính kèm tập tin đã xóa dòng mà bạn khẳng định là vẫn quá chậm

Đây là tệp đã xóa ạ. Chỉ nhanh hơn chút, vẫn chậm. Và như hình em chụp, dù đã xóa rồi, mà sao nó vẫn lấy vùng lọc đến tận dòng 10158 nên vẫn rất chậm.
Mọi người giúp với ạ/
ảnh chậm.png
 

File đính kèm

Upvote 0

File đính kèm

Upvote 0
Cảm ơn bạn nhiều lắm. ^^ Mừng quá. Mình amater, cóp nhặt công thức, ko hiểu rõ nên ko biết cái sai. Phải học thêm thôi
Sử dụng đến đâu thì tô màu, tô viềng đến đó, chứ không nên tô đến cả triệu dòng có ngày nó phình to và đơ máy thì không biết nguyên nhân.
 
Upvote 0
Web KT

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

Back
Top Bottom