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 :
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 Combobox tra cứu dữ liệu bằng VBA.
Đ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
Để 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:
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