Việc tra cứu dữ liệu trong Excel theo từ khóa nhập vào Textbox là một nhu cầu phổ biến. Bài viết này hướng dẫn chi tiết cách tạo Userform trong VBA để thực hiện tra cứu dữ liệu nhanh chóng và chính xác. Video minh họa sau đây sẽ giúp bạn hình dung rõ hơn về cách thức hoạt động và hiệu quả của Userform này:
https://www.youtube.com/watch?v=Qg4HwXedZgk[/embed]
Xây dựng Userform tra cứu dữ liệu
Giả sử bạn có một sheet danh mục hàng hóa (DMHH) như sau:
Danh mục hàng hóa
Và một sheet “TEST” cho phép bạn click đúp vào ô trong cột A để hiển thị form, nhập từ khóa tra cứu và lọc dữ liệu.
Giao diện tra cứu
Sau đó, bạn có thể chọn các mã hàng cần thiết để gắn vào sheet “TEST”:
Chọn mã hàng
Kết quả tra cứu
Các bước thực hiện
Để tạo Userform tra cứu, bạn thực hiện các bước sau:
Mở Visual Basic Editor: Nhấn Alt + F11.
Tạo Userform: Vào Insert > Userform, đặt tên là “FrmDMHH”.
Thêm các điều khiển:
- Textbox: Thêm một Textbox, đặt tên là “TXTFIND”.
Textbox TXTFIND
- Combobox: Thêm một Combobox, đặt tên là “CBDMHH”.
Combobox CBDMHH
- Listbox: Thêm một Listbox, đặt tên là “LBDMHH”.
Listbox LBDMHH
- Button: Thêm một Button, đặt tên là “CMDADD”.
Button CMDADD
- Textbox: Thêm một Textbox, đặt tên là “TXTFIND”.
Thêm Module và Hàm: Vào Insert > Module và dán các hàm VBA để tra cứu từ khóa (xem chi tiết trong file mẫu kèm theo). Các hàm này bao gồm:
- Hàm tra cứu theo một cột.
- Hàm tra cứu trong tất cả các cột.
- Hàm đo thời gian gõ ký tự.
Viết code cho Userform: Click chuột phải vào Userform, chọn “View Code” và viết các đoạn mã VBA cho các sự kiện sau:
- Userform_Initialize: Khởi tạo các đối tượng cần thiết.
- TXTFIND_Change: Xử lý khi người dùng nhập ký tự vào Textbox.
- LBDMHH_Change: Xử lý khi lựa chọn trong Listbox thay đổi.
- CMDADD_Click: Chuyển dữ liệu được chọn xuống sheet.
- Userform_Terminate: Giải phóng bộ nhớ.
Thêm code cho Sheet TEST: Trong sheet “TEST”, viết code VBA cho sự kiện Worksheet_BeforeDoubleClick để hiển thị Userform khi click đúp vào ô trong cột A.
Ứng dụng và Học hỏi
Sau khi hoàn thành các bước trên, bạn có thể sử dụng Userform để tra cứu dữ liệu trong sheet “TEST”. Click đúp vào ô trong cột A, nhập từ khóa vào Textbox và chọn mã hàng cần thiết. Việc hiểu rõ các đoạn mã VBA yêu cầu kiến thức về lập trình VBA. Tuy nhiên, với sự ham học hỏi và tìm tòi, bạn hoàn toàn có thể nắm vững kỹ thuật này. Bài viết này được hoàn thiện dựa trên sự hỗ trợ từ các thành viên diễn đàn giải pháp Excel như ndu96081631, CHANH_TQ và Duc Thanh Nguyen. Xin chân thành cảm ơn sự đóng góp quý báu của họ.
Nâng cao kỹ năng Excel
Để ứng dụng Excel hiệu quả trong công việc, ngoài việc nắm vững các hàm cơ bản, bạn cần thành thạo các hàm nâng cao như SUMIFS, COUNTIFS, SUMPRODUCT, INDEX + MATCH, cũng như các công cụ như Data Validation, Conditional Formatting, Pivot Table. Việc học tập và rèn luyện thường xuyên sẽ giúp bạn nâng cao kỹ năng Excel và áp dụng thành công vào công việc.
Discussion about this post