ListObject.AutoFilter 속성
필터링된 표를 가져옵니다.
네임스페이스: Microsoft.Office.Tools.Excel
어셈블리: Microsoft.Office.Tools.Excel(Microsoft.Office.Tools.Excel.dll)
구문
‘선언
ReadOnly Property AutoFilter As AutoFilter
Get
AutoFilter AutoFilter { get; }
속성 값
형식: Microsoft.Office.Interop.Excel.AutoFilter
필터링된 표가 들어 있는 AutoFilter입니다.
예제
다음 코드 예제에서는 워크시트에 Excel의 표에 해당하는 ListObject를 추가한 다음 이 표를 임의의 데이터가 있는 두 개의 행으로 채우고 첫 번째 열 값이 문자열 값 "bb"와 같지 않은 모든 행을 필터링하여 제외하는 필터를 표에 지정합니다. 그런 다음 표에 있는 활성 필터의 수를 표시합니다.
이 예제는 문서 수준 사용자 지정을 위한 것입니다.
Private Sub FilterListObject()
' Create ListObject control (table) and set table style
Dim employeeTable As Microsoft.Office.Tools.Excel.ListObject = _
Me.Controls.AddListObject(Me.Range("A1"), "employeeTable")
' Populate table with some data
Dim rng As Excel.Range
rng = employeeTable.InsertRowRange
rng(ColumnIndex:=1).Value2 = "bb"
rng(ColumnIndex:=2).Value2 = "b1"
Dim row2 As Excel.ListRow = employeeTable.ListRows.AddEx( _
AlwaysInsert:=True)
rng = row2.Range
rng(ColumnIndex:=1).Value2 = "aa"
rng(ColumnIndex:=2).Value2 = "a1"
' Set a filter
employeeTable.Range.AutoFilter(1, "bb")
Dim activeFilterCount As Integer = 0
For Each filter As Excel.Filter In employeeTable.AutoFilter.Filters
If filter.On = True Then
activeFilterCount += 1
End If
Next
MessageBox.Show("There are " + activeFilterCount.ToString() _
+ " active filter(s) for table " + employeeTable.Name + ".")
End Sub
private void FilterListObject()
{
// Create ListObject control (table) and set table style
Microsoft.Office.Tools.Excel.ListObject employeeTable =
this.Controls.AddListObject(this.Range["A1",missing],
"employeeTable");
// Populate table with some data
Excel.Range rng;
rng = employeeTable.InsertRowRange;
((Excel.Range)(rng[missing, 1])).Value2 = "bb";
((Excel.Range)(rng[missing,2])).Value2 = "b1";
Excel.ListRow row2 = employeeTable.ListRows.AddEx(missing,true);
rng = row2.Range;
((Excel.Range)(rng[missing,1])).Value2 = "aa";
((Excel.Range)(rng[missing,2])).Value2 = "a1";
// Set a filter
employeeTable.Range.AutoFilter(1, "bb",
Excel.XlAutoFilterOperator.xlFilterValues,missing,missing);
int activeFilterCount = 0;
foreach (Excel.Filter filter in employeeTable.AutoFilter.Filters)
{
if (filter.On == true)
{
activeFilterCount += 1;
}
}
MessageBox.Show("There are " + activeFilterCount.ToString()
+ " active filter(s) for table " + employeeTable.Name + ".");
}
.NET Framework 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.