25/05/2018, 23:33

Combobox tra cứu dữ liệu bằng VBA

Từ bài viết của bạn Nguyễn Bích Hạnh tới từ group hỗ trợ học viên VBA 101.Tôi đã có bài viết Hướng dẫn tạo userform tra cứu dữ liệu , Ngoài ra trong các khóa học : VBA 201 Lập trình VBA nâng cao của Thầy Nguyễn Đức Thanh IM201 Series ứng dụng VBA Excel vào kế toán – kế toán kho do tôi ...

Từ bài viết của bạn Nguyễn Bích Hạnh tới từ group hỗ trợ học viên VBA 101.Tôi đã có bài viết Hướng dẫn tạo userform tra cứu dữ liệu , Ngoài ra trong  các khóa học :

  • VBA 201 Lập trình VBA nâng cao của Thầy Nguyễn Đức Thanh
  • IM201 Series ứng dụng VBA Excel vào kế toán – kế toán kho do tôi  biên soạn và giảng dạy

Chúng tôi đã đề cập rất nhiều trong khóa học về vấn đề tra cứu dữ liệu trên User Form tuy nhiên là sử dụng Textbox và Listbox

Bài viết này, tôi sẽ hướng dẫn cách dùng .

Điều đầu tiên bạn phải chuẩn bị hàm FindInArray. Đây là hàm được tôi viết lại mới hoàn toàn , chỉ phục vụ cho một mục đích duy nhất là tra cứu ký tự ở tất cả các cột trong mảng 2 chiều  (Lưu ý được thiết kế chỉ để tra cứu ký tự). Hàm này còn nhiều thiếu sót. Rất mong nhận được các góp ý cải thiện thuật toán từ tất cả mọi người.

Đây là mã nguồn của hàm FindInArray 

View the code on Gist.

Để phục vụ cho việc tra cứu dữ liệu bằng combobox. Tôi sử dụng UserForm sau đây

Để thiết lập tra cứu tôi sử dụng code trong Userform như sau:

View the code on Gist.

Có nghĩa rằng khi bạn gõ ký tự trong Combobox sau đó nhấn nút SPACE thì list chọn dữ liệu sẽ được thu gọn lại và đưa vào combobox để chọn. Theo quan điểm cá nhân của tôi , trong trường hợp này nên sử dụng Textbox + Listbox sẽ hợp lý hơn là sử dụng combobox. Tuy nhiên đó cũng là một cách để bạn tham khảo.

File đính kèm trong bài được cung cấp miễn phí cho các học viên VBA201 và IM201. Để tìm hiểu về hai khóa học này bạn clịck vào baner ở cuối bài viết nhé.

CHÚC BẠN THÀNH CÔNG

Khoá học VBA cơ bản

0