Hiển thị Tiêu chí Bộ lọc trên Bản in (Microsoft Excel)
Microsoft Excel bao gồm một số công cụ tuyệt vời giúp bạn lọc các bảng dữ liệu lớn để chỉ bao gồm thông tin bạn muốn hiển thị. Trên thực tế, các bộ lọc cho phép bạn “cắt nhỏ” dữ liệu của mình cho đến khi bạn nhận được những gì bạn muốn.
Khi in ra dữ liệu đã lọc, bạn có thể muốn biết những gì đã được thực hiện đối với dữ liệu gốc. Có một số cách bạn có thể thực hiện để hiển thị các tiêu chí lọc của mình. Một cách đơn giản là sử dụng khả năng lọc nâng cao của Excel, khả năng này yêu cầu bạn thiết lập một bảng tiêu chí nhỏ cho dữ liệu của mình. Nếu bảng tiêu chí được tạo thành một phần của những gì bạn in, thì bạn có thể xem tiêu chí lọc của mình khá dễ dàng.
Nếu bạn sử dụng AutoFilter, thì bạn cần sử dụng một cách tiếp cận khác. Một cách tiếp cận như vậy được trình bày chi tiết tại trang của John Walkenbach:
http://j-walk.com/ss/excel/usertips/tip044.htm
Giải pháp này sử dụng một hàm do người dùng xác định để trả về bất kỳ tiêu chí lọc nào đang được sử dụng trong cột hiện tại. Hàm có thể được sử dụng trong một ô trong cột đó để hiển thị tiêu chí. Nếu bạn đang sử dụng tính năng lọc nâng cao, thì cách tiếp cận macro phức tạp hơn một chút. Các macro sau (có hai macro trong danh sách) kiểm tra tiêu chí nâng cao nào đang được sử dụng, sau đó đặt tiêu chí vào phần bên trái của tiêu đề.
Sub AddFilterCriteria() Dim strCriteria As String strCriteria = FilterCriteria() If strCriteria = "" Then strCriteria = "No Filtering Criteria" Else strCriteria = "Filter Criteria:" & Chr(10) & strCriteria End If ' add Criteria string to Header/Footer With ActiveSheet.PageSetup .LeftHeader = strCriteria End With End Sub Function FilterCriteria() As String Dim rngCriteria As Range, col As Range, cel As Range Dim strCriteria As String, r As Integer, c As Integer Const strCriteriaRange As String = "Criteria" FilterCriteria = "" On Error Resume Next 'Set Criteria-Range reference Set rngCriteria = Range(strCriteriaRange) If Err <> 0 Then Exit Function On Error GoTo 0 ' Create Criteria String c = 0 For Each col In rngCriteria.Columns c = c + 1 ' CriteriaRange Columns r = 1 ' CriteriaRange Rows For Each cel In col.Cells If r = 1 Then strCriteria = strCriteria & "Criteria" _ & c & " (" & cel.Value & ") = " Else strCriteria = strCriteria & "'" & cel.Value & "'" If IsEmpty(cel.Offset(1, 0)) Then 'Add New row Char if not Last Criteria Column If c < rngCriteria.Columns.Count Then strCriteria = strCriteria & Chr(10) End If Exit For End If strCriteria = strCriteria & " " End If r = r + 1 Next cel ' next criteria row Next col ' next criteria column FilterCriteria = strCriteria End Function
Để sử dụng macro, chỉ cần chạy macro AddFilterCriteria, sau khi bạn đã thiết lập bộ lọc nâng cao. Macro đọc bảng tiêu chí và tập hợp các tiêu chí lại thành một chuỗi được đặt trong tiêu đề bên trái.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (11649) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.
Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: