مایکروسافت اکسل شامل چند ابزار عالی است که به شما کمک می کند جداول داده های بزرگ را فیلتر کنید تا فقط اطلاعاتی را که می خواهید نمایش داده شود شامل شود. در واقع، فیلترها به شما این امکان را می دهند که داده های خود را تا زمانی که دقیقاً به آن چیزی که می خواهید برسید، "برش و تاس" کنید.
هنگام چاپ داده های فیلتر شده، ممکن است بخواهید بدانید که برش و برش بر روی داده های اصلی انجام شده است. راه های مختلفی وجود دارد که می توانید برای نمایش معیارهای فیلترینگ خود استفاده کنید. یکی از راه های ساده استفاده از قابلیت های فیلترینگ پیشرفته اکسل است که نیاز به تنظیم جدول معیارهای کوچک برای داده های خود دارد. اگر جدول معیارها بخشی از چیزی است که چاپ می کنید، می توانید معیارهای فیلتر خود را به راحتی ببینید.
اگر از AutoFilter استفاده می کنید، پس باید از روش دیگری استفاده کنید. یکی از این رویکردها در سایت John Walkenbachs به تفصیل آمده است:
http://j-walk.com/ss/excel/usertips/tip044.htm
این راه حل از یک تابع تعریف شده توسط کاربر برای برگرداندن معیارهای فیلتر استفاده شده در ستون فعلی استفاده می کند. تابع را می توان در سلولی در آن ستون برای نمایش معیارها استفاده کرد. اگر از فیلترینگ پیشرفته استفاده می کنید، پس رویکرد ماکرو کمی پیچیده تر است. ماکروهای زیر (دو مورد از آنها در لیست وجود دارد) معیارهای پیشرفته را بررسی می کنند و سپس معیارها را در قسمت سمت چپ هدر قرار می دهند.
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
برای استفاده از ماکرو، کافیست پس از تنظیم فیلتر پیشرفته، ماکرو AddFilterCriteria را اجرا کنید. ماکرو جدول معیارها را می خواند و معیارها را در رشته ای قرار می دهد که در هدر سمت چپ قرار می گیرد.