Format dữ liệu
Mình sẽ gửi những bạn một file Excel để hoàn toàn có thể vừa xem bài viết vừa thực hành thực tế, tải tại đây .
Sau khi đã tải xuống file thực hành, điều cần làm đầu tiên là tạo table cho dữ liệu. Cách làm là chọn vào một ô bất kỳ trên vùng dữ liệu, sau đó ấn Ctrl + T. Sẽ xuất hiện bảng Create Table sau khi ấn, bạn nhớ chọn vào My table has headers nhé. Hoàn tất chọn OK.
Bạn có thể đổi tên của table tại thẻ Design, sau đó chọn vào mục Table Name để đổi tên (tham khảo hình dưới).
Bạn đang đọc: Cách Tạo Hộp Tìm Kiếm Siêu Tốc Bằng VBA Excel 12/2021
Thực hiện việc gõ vào một ô để thể hiện chức năng tìm kiếm, ví dụ mình sẽ nhập vào là “TÌM KIẾM”.
Chúng ta sẽ cần thẻ Developer để thực hiện công việc tiếp theo. Bạn nào chưa có thẻ Developer thì có thể click chuột phải vào vị trí bất kỳ trên thanh Ribbon, sau đó chọn vào Customize the Ribbon.
Tại cửa sổ Excel Options bạn sẽ tích chọn vào Developer nếu chưa tích nhé, hoàn tất chọn OK.
Kế tiếp bạn sẽ truy cập vào thẻ Developer → chọn Insert → tại ActiveX Controls chọn vào mục Textbox. Thực hiện vẽ Textbox với chiều dài khoảng 2 ô trong Excel.
Khi đã có được Textbox bạn sẽ chọn vào nó và click chuột phải, cuối cùng chọn vào Properties.
Tại cửa sổ Properties chúng ta sẽ thực hiện liên kết textbox với một ô trên Excel bằng cách điền tên ô vào phần LinkedCell, mình sẽ chọn ô B2 để liên kết nên sẽ điền là B2 (tham khảo hình). Sau khi đã liên kết xong các bạn nhớ đóng lại cửa sổ Properties.
Tiếp tục chọn vào Textbox và click chuột phải chọn View Code, đây là bước để chúng ta chuẩn bị cửa sổ code phục vụ cho công đoạn sau.
Sẽ xuất hiện cửa sổ Microsoft Visual Basic for Applications để bạn có thể code cho Textbox. Do đây chỉ là bước chuẩn bị nên sau khi mở lên bạn hãy tạm tắt nó xuống nhé (chọn vào dấu -).
Tạo hộp tìm kiếm
Việc tạo code cho hộp tìm kiếm khá phức tạp nên tất cả chúng ta sẽ sử dụng công cụ Record Macro, đây là công cụ sẽ giúp cho những bạn không biết code vẫn hoàn toàn có thể làm được hộp tìm kiếm .
Đầu tiên truy cập vào thẻ Developer → chọn Record Macro. Sẽ hiện lên cửa sổ Record Macro khi chọn vào, bạn nên để tên mặc định là “Macro1” cho dễ nhận biết. Hoàn tất chọn OK.
Những bước tiếp theo bạn cần làm theo chính xác những gì mình hướng dẫn để không phát sinh lỗi sau này. Trước tiên chọn vào biểu tượng filter của “Nhà Phân Phối”, sau đó chọn tiếp Text Filters, cuối cùng là chọn vào Contains.
Tại cửa sổ Custom AutoFilter, bạn sẽ nhập vào một ký tự trong chuỗi cần tìm kiếm (ví dụ là “v”). Contains sẽ lấy ký tự bất kỳ trong chuỗi để lọc ra kết quả tìm kiếm chính xác nhất. Hoàn tất chọn OK.
Tiếp tục chọn vào biểu tượng filter của “Nhà Phân Phối”, chọn vào Search và nhập vào ký tự lúc nảy tức là “v”. Hoàn tất chọn OK.
Kết thúc việc ghi lại bằng cách chọn vào thẻ Developer và chọn Stop Recording.
Xem code của các bước vừa ghi lại tại Visual Basic cũng nằm trong thẻ Developer. Do lúc nảy chúng ta để tên là “Macro1” nên bạn chọn vào Modules → chọn tiếp Module1 sẽ thấy code.
Thực hiện copy (Ctrl + C) toàn bộ code vừa ghi được sang cửa sổ code đã được bật lúc nảy (sẽ là sheet1 nếu bạn chưa đặt tên sheet).
Chúng ta sẽ vô hiệu những đoạn code không thiết yếu và viết thêm một vài điều kiện kèm theo để hộp tìm kiếm hoạt động giải trí tốt nhất hoàn toàn có thể .
Code mẫu :
ActiveSheet. ListObjects ( ” Bang1 ” ). Range. AutoFilter Field : = 1, Criteria1 : = _
“*” & [B2] & “*”, Operator:=xlOr
If Range(“B2”).Value = “” Then ActiveSheet.ListObjects(“Bang1”).Range.AutoFilter
Đoạn code trên có ba điểm bạn cần chú ý quan tâm .
Thứ nhất chính là ô B2, do vừa nãy mình đã lựa chọn liên kết ô B2 với textbox nên tại đây sẽ là B2.
Thứ hai, là đoạn code điều kiện If là nhập tay vào nên bạn sẽ không thể thấy trong đoạn code ban đầu. Đây là đoạn code sẽ thực hiện chức năng khi bạn xóa ký tự trong hộp tìm kiếm thì các filter đã lọc sẽ được reset lại ban đầu. Đoạn code này bạn có thể không code theo mình cũng được, sẽ không ảnh hưởng quá nhiều đến hộp tìm kiếm đâu nhé.
Thứ ba chính là “Bang1”, đây là tên của table bạn đặt lúc ban đầu. Cần phải đúng tên table thì code mới không xảy ra lỗi được.
Bạn sẽ tắt chức năng Design Mode ở thẻ Developer để hoàn tất việc điều chỉnh nhé. Sau khi tắt bạn đã có thể tìm kiếm dữ liệu giống như google được rồi đấy.
Như vậy mình đã hoàn thành bài hướng dẫn cách tạo hộp tìm trong Excel bằng VBA. Đây là một chức năng rất tiện lợi khi bạn sở hữu một dữ liệu khổng lồ. Nó sẽ giúp bạn tiết kiệm rất nhiều thời gian tìm kiếm các dữ liệu cần thiết. Nếu muốn học thêm các bài học khác về Excel thì đừng ngại tìm kiếm trên website này nhé.
Video hướng dẫn
Source: https://www.doom.vodka
Category: Tin tức
Leave a Reply
You must be logged in to post a comment.