Lọc khi bạn nhập trong Excel VBA
Các hướng dẫn này sẽ cho phép bạn tạo hộp tìm kiếm trong Excel để lọc bảng khi bạn nhập. Mỗi chữ cái bạn nhập vào hộp tìm kiếm sẽ tự động được áp dụng cho bộ lọc Nhấn vào đây để đăng ký khóa học VBA Excel cơ bản Tất cả các giao dịch mua giúp hỗ trợ blog này - cảm ơn Hướng dẫn đầu tiên sử dụng hàm FILTER có sẵn trong Excel 365. Nếu bạn không có Excel 365, hướng dẫn thứ hai sẽ chỉ cho bạn cách đạt được kết quả tương tự bằng cách sử dụng Visual Basic for Applications (VBA) Cả hai hướng dẫn đều ở định dạng video với các công thức và mã có liên quan được ghi lại cùng với chúng Sử dụng chức năng LỌCCông thức sử dụng trong video. =FILTER(SalesReps,LEFT(SalesReps[Sales Rep],LEN(E1))=E1,"No names found") Tải file đặc trưng tại đây Để biết thêm thông tin về hàm FILTER và các hàm mới có sẵn trong Excel 365 nói chung, vui lòng xem trang Hàm Mảng động mới của chúng tôi Giả sử bạn có một tập dữ liệu và bạn muốn áp dụng bộ lọc trong Excel với sự trợ giúp của VBA. Để bạn có thể lọc tên và yêu cầu họ lọc tập dữ liệu bên dưới Ở đây trong bài đăng này, chúng tôi đang sử dụng bộ dữ liệu bên dưới Lọc dữ liệu khi bạn nhập Image_01Hãy lọc cột “Vùng” trong bảng này Chúng tôi sẽ tạo một 'Hộp văn bản' trong ô “A1”, nơi chúng tôi sẽ tạo bộ lọc và chúng tôi sẽ lọc dữ liệu của mình trong cột “Khu vực” Áp dụng Lọc dữ liệu khi bạn nhập trong Excel VBAVì vậy, trước hết, chúng tôi sẽ chuyển đổi tập dữ liệu này thành một bảng. Dễ dàng làm việc với dữ liệu bảng với VBA Để chuyển đổi dữ liệu thành bảng, trước tiên hãy chọn tất cả các bộ dữ liệu Và nhấn phím tắt CTRL + T để chuyển đổi dữ liệu thành bảng Lọc dữ liệu khi bạn nhập Image_02Và nhấn Ok Xem bên dưới dữ liệu của bạn được chuyển đổi thành bảng ngay bây giờ Sau khi dữ liệu của bạn được chuyển đổi thành bảng, hãy xem tab 'Thiết kế' được thêm tự động và bạn có thể thấy bảng mặc định ở phía bên trái là 'Bảng 1' Lọc dữ liệu khi bạn nhập Image_03Bây giờ hãy thay đổi tên bảng của bạn bằng cách chỉnh sửa “Table1” thành “NewData” và nhấn Enter. Tên bảng dữ liệu của chúng tôi bây giờ là “NewData” Bây giờ, hãy chuyển đến tab 'Nhà phát triển' và sau đó nhấp vào trình đơn thả xuống "Chèn" Chuyển đến hộp điều khiển ‘Active X Controls’ và nhấp vào công cụ TextBox để tạo hộp văn bản trong Excel Một TextBox được chèn vào trang tính Excel và bạn có thể định vị nó ở bất kỳ đâu cho đến khi nó ở chế độ thiết kế Chúng tôi sẽ sử dụng hộp văn bản này để áp dụng bộ lọc của tập dữ liệu của chúng tôi Bây giờ chúng ta cần liên kết hộp văn bản này với bất kỳ ô nào, vì vậy ở đây chúng ta sẽ liên kết hộp này với ô “A1” trong trang tính Excel của chúng ta Để liên kết hộp văn bản này, chỉ cần nhấp đúp vào 'Hộp văn bản' Và tìm tùy chọn “LinkedCell” trong cửa sổ thuộc tính textBox1 Nhập 'A1' vào ô tiếp theo để liên kết nó Và đóng cửa sổ này ngay bây giờ Bây giờ hãy vào TextBox và xóa chế độ thiết kế bằng cách nhấp vào tab thiết kế TextBox sẽ hoạt động khi chúng ta xóa chế độ thiết kế khỏi nó Chọn hộp văn bản bằng cách nhấp vào nó và nhấp vào nút chế độ thiết kế xuất hiện trong dải băng Lọc dữ liệu khi bạn nhậpBạn có thể viết bất cứ thứ gì trên TextBox này sau khi nó được xóa khỏi chế độ thiết kế và bạn cũng sẽ thấy văn bản tương tự xuất hiện trên ô được liên kết “A1” Xem hình ảnh bên dưới. - Xem rằng văn bản chúng tôi đã nhập trong 'Hộp văn bản' cũng được nhập tự động vào ô được liên kết 'A1' Bây giờ, hãy quay lại chế độ thiết kế và đặt hộp văn bản này vào vị trí của ô 'A1' Xem hình trên Nhấp đúp vào hộp văn bản một lần nữa trong cùng một chế độ thiết kế để viết mã VBA để áp dụng các bộ lọc cho nó Khi bạn nhấp đúp chuột vào Hộp văn bản, bạn sẽ nhận được cửa sổ mã VBA bên dưới Lọc dữ liệu khi bạn nhậpThấy rằng hai dòng đã được viết Và giữa hai dòng này, hãy viết mã VBA bên dưới để áp dụng bộ lọc bộ dữ liệu Lọc dữ liệu khi bạn nhậpHãy cố gắng hiểu mã VBA này Bảng hoạt động. ListObjects(“Dữ liệu mới”). Phạm vi. Bộ lọc tự động - đây là đối tượng bảng của chúng tôi, được đặt tên là 'NewData' Đồng ruộng. =2 – đây là số cột mà chúng tôi muốn áp dụng bộ lọc tiêu chí1. = [A1] & “*” – Đây là tiêu chí hoặc điều kiện sẽ lọc trong tập dữ liệu. (giá trị trong ô 'A1' sẽ được lọc) Nhà điều hành. =xlFilterValues – đây là một tham số khác để áp dụng bộ lọc Hộp văn bản phụ riêng tư1_Change()Ứng dụng. Đang cập nhật màn hình = Sai Bảng hoạt động. ListObjects(“Dữ liệu mới”). Phạm vi. Trường bộ lọc tự động. =2, _ tiêu chí1. =[A1] & “*”, Toán tử. =xlFilterValues Ứng dụng. Đang cập nhật màn hình = True kết thúc phụ Khi bạn viết mã VBA này vào hộp văn bản Bây giờ hãy chạy mã VBA này bằng cách nhấn 'F5' hoặc nhấn vào nút 'Chạy' trên dải băng VBA Khi mã này được chạy, hãy đóng cửa sổ VBA này lại, sau đó nhấp lại vào tab Chế độ thiết kế để xóa chế độ thiết kế khỏi hộp văn bản |