Tài liệu "Dùng Macro lọc dữ liệu bảng trong Excel" sẽ cung cấp một số mẹo vặt đơn giản trong Excel để giúp các bạn tiết kiệm thời gian, các thao tác trong Excel được thực hiện nhanh chóng hơn bằng cách sử dụng công cụ định dạng Macro trong Excel. nội dung tài liệu chi tiết để tìm hiểu và áp dụng mẹo hay này trong công việc. | Dùng Macro lọc dữ liệu bảng trong Excel Giả sử bạn có một bảng chứa danh sách lý lịch nhân viên hoặc bất cứ danh sách gì như ở dưới Sheetl A B c D E F 1 STT MãNV Họ Tên Ngày sinh Địa chỉ 2 1 0251 Nguyễn Vãn A 15 07 1973 12 Nguyen Vãn Trỗi . 3 2 0252 Phạm Thị B 02 03 1978 128 2 Nguyễn Đình Chieu . 4 3 0253 Trần Văn c 15 05 1968 45 Hoàng Vãn Thụ 5 4 0254 Huỳnh Vãn D 02 09 1971 45 Nguyễn Thị Nhỏ . Và bạn muốn chỉ lấy lý lịch những nhân viên có mã số 0252 0253 . Nếu bạn chọn từng người trong danh sách có thể là vài trăm đến vài nghìn nhân viên thì sẽ rất mất thời gian. Để thực hiện nhanh ta sẽ tạo macro lọc những nhân viên cần lấy như sau - Tạo vòng lặp từ đầu tới cuối của danh sách mã số nhân viên lấy từng mã số NV sau đó tạo tiếp vòng lặp để duyệt từ đầu tới cuối danh sách lý lịch khi tìm thấy thì cho ngừng vòng lặp và tạo tiếp một vòng lặp khác duyệt qua các cột của mẫu tin tìm thấy để chép copy sang Sheet2. - Thực hiện Tạo một sheet để chứa kết quả lọc Sheet2 Tạo một sheet chứa mã NV Sheet3 Trong Excel vào menu Tools Macro Visual Basic Editor Trong cửa sổ bên trái nhấn đúp vào VBAProject để bung các nhánh con trong đó ra. Bạn sẽ thấy có ba sheet mà mình tạo ở trên nhấn đúp vào một sheet bất kỳ để mở cửa sổ soạn thảo code của sheet đó sau đó thực hiện soạn mã như ở dưới Sub CopyRecord Dim i j k n n1 As Integer Dim temp n số mẫu tin của sheet 3 n1 số mẫu tin của sheet 1 n 100 n1 1500 vòng lặp duyệt từ mẫu tin thứ 2 đến mẫu tin cuối cùng của sheet chứa mã nhân viên trong ví dụ là 100 For i 2 To n lưu giái trị của hàng thứ i cột thứ 2 của sheet3 vào biến temp trong ví dụ là mã NV . như vậy biến temp sẽ lần lượt chứa mã số nhân viên của từng người có trong danh sách temp i 2