Code cho phép Tab chuyển, enter chọn (từ textbox sang listbox) & tối ưu nhanh hơn. (1 người xem)

  • Thread starter Thread starter hpkhuong
  • Ngày gửi Ngày gửi
Liên hệ QC

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

hpkhuong

######
Tham gia
20/5/11
Bài viết
36
Được thích
-6
Nghề nghiệp
Đi Rông
Thân chào gia đình GPE!

Do mình copy nhặc của ACE trên GPE được code & áp dụng vào file mình cần. Do không biết về VAB nên cần các bạn chỉnh sửa giúp mình theo mong muốn (cũng đã đọc qua 1 số topic nhưng trình hiểu hạn chế nên không thể tự chỉnh code được).
Code hiện tại dùng để nhập liệu tại sheet đơn đặt hàng từ C7 -> C22, có thể lọc theo tên không dấu, có dấu, ,... nhưng vì một số nhu cầu mà mình cần các bạn chỉnh lại giúp mình để đạt được mong muốn:

1. Code hiện tại phân biệt khi gõ Hoa/Thường: -> mong muốn là gõ hoa/thường gì cũng được (tìm tất).
2. Code hiện tại chạy chậm khi dữ liệu danh mục dữ liệu nguồn hơn 1000 dòng (mình thử xóa để lại ít dòng thì code chạy nhanh.)
3. Giúp mình khi gõ vào ô nhập liệu (C7,....,C22): thì cho phép tab 1 cái để sang listbox đang đổ ra --> dùng phím mũi tên lên xuống để đi đến tên cần chọn & cho phép enter 1 cái là chọn được ngay (code hiện tại chỉ cho click chuột chọn.)
4. Nếu xóa trắng nội dung cần nhập/ hoặc nhập nội dung mà code không tìm thấy trong danh mục (nội dung mới) thì cho phép enter 1 cái là xuống dòng bên dưới (giống như mặc định của excel): coi như dòng vừa rồi dữ liệu là rỗng/hoặc là dữ liệu nhập mới không nằm đúng tên trong danh mục.


Trân trọng cảm ơn GPE!
 

File đính kèm

Lần chỉnh sửa cuối:
Thân chào gia đình GPE!

Do mình copy nhặc của ACE trên GPE được code & áp dụng vào file mình cần. Do không biết về VAB nên cần các bạn chỉnh sửa giúp mình theo mong muốn (cũng đã đọc qua 1 số topic nhưng trình hiểu hạn chế nên không thể tự chỉnh code được).
Code hiện tại dùng để nhập liệu tại sheet đơn đặt hàng từ C7 -> C22, có thể lọc theo tên không dấu, có dấu, ,... nhưng vì một số nhu cầu mà mình cần các bạn chỉnh lại giúp mình để đạt được mong muốn:

1. Code hiện tại phân biệt khi gõ Hoa/Thường: -> mong muốn là gõ hoa/thường gì cũng được (tìm tất).
2. Code hiện tại chạy chậm khi dữ liệu danh mục dữ liệu nguồn hơn 1000 dòng (mình thử xóa để lại ít dòng thì code chạy nhanh.)
3. Giúp mình khi gõ vào ô nhập liệu (C7,....,C22): thì cho phép tab 1 cái để sang listbox đang đổ ra --> dùng phím mũi tên lên xuống để đi đến tên cần chọn & cho phép enter 1 cái là chọn được ngay (code hiện tại chỉ cho click chuột chọn.)
4. Nếu xóa trắng nội dung cần nhập/ hoặc nhập nội dung mà code không tìm thấy trong danh mục (nội dung mới) thì cho phép enter 1 cái là xuống dòng bên dưới (giống như mặc định của excel): coi như dòng vừa rồi dữ liệu là rỗng/hoặc là dữ liệu nhập mới không nằm đúng tên trong danh mục.
Trân trọng cảm ơn GPE!
Xem thử file này. Yêu cầu 3 4 đợi các bác khác giúp nha.
 

File đính kèm

Upvote 0
Ý là bác gõ không có dấu ý: ví dụ gõ : ca dong (thì Cá đổng ..... nó sẽ ra.) cái trên hình là bác gõ Tiếng việt có dấu rùi...-\\/.
p/s: bác xem lại code sao gõ xong, click chuột chọn.......là nó đơ đơ giật giật .........phải click ra khỏi vùng listbox thì mới được.
Hình như file có virus bạn ơi, nên chưa dám mở file
Bạn tham khảo thêm link sau, cũng hay
http://www.giaiphapexcel.com/forum/showthread.php?94417-Tạo-List-tìm-kiếm-cho-mã-hàng-hóa
 
Lần chỉnh sửa cuối:
Upvote 0
Ý là bác gõ không có dấu ý: ví dụ gõ : ca dong (thì Cá đổng ..... nó sẽ ra.) cái trên hình là bác gõ Tiếng việt có dấu rùi...-\\/.
p/s: bác xem lại code sao gõ xong, click chuột chọn.......là nó đơ đơ giật giật .........phải click ra khỏi vùng listbox thì mới được.
Mình sửa lại như file đính kèm
ở C7:C22
bạn chon mã hàng nào phải đánh dấu tienengs việt nhé, bạn chọn mã hàng thì đơn vị và đơn giá nhảy luôn theo nhé
File thấy chạy cũng nhẹ
 

File đính kèm

Upvote 0
P/s: nếu có thể các bạn có thể chỉnh sửa lại code đã có sẵn trong file để tăng tốc độ nhanh hơn một tí giúp mình........chú ý là chỉnh dựa vào code có sẵn trong file, đừng viết dạng code khác....sẽ làm mình tẩu hỏa ....vì đang trong giai đoạn tìm hiểu code để có thể viết code.
bạn nói muốn tìm hiểu để viết đc code . vậy đây là cái để tìm hiểu :
hãy xem lại file của bạn và xem lại dòng này
Mã:
If UCase(TV(dl(i, c))) Like UCase(TV("*" & ActiveSheet.TextBox1.Value & "*")) Then
đây là lý do khiến code chạy rất đơ và lag . thử sửa nó lại xem

Mong các bạn viết giúp code điều kiện ẩn CommandButton theo điều kiện trên
bạn đã viết code cho listbox có thể ẩn theo điều kiện của bạn thì cũng phải viết dc code ẩn button chứ
 
Upvote 0
Đã nói là code trên file là tôi copy ở các topic trên diễn đàn gpe và áp dụng vào file của mình. Tôi không tự viết ra dc....
Bạn nói là copy , nhưng bạn cũng muốn mọi người không thay đổi code mới, vậy nên bài trên mới góp ý đó,

Ngoài việc chú ý dòng code,
Mã:
If UCase(TV(dl(i, c))) Like UCase(TV("*" & ActiveSheet.TextBox1.Value & "*")) Then
cần chú ý thêm KHI AddItem vào listbox nữa , nên gán vào array và gán 1 lần vào listbox thông qua thuộc tính list
Mã:
 .List = arr
thì chắc có thể cải thiện được tốc độ
 
Upvote 0
Web KT

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

Back
Top Bottom