2016-10-05 8 views
2

하나의 열 (A 또는 1), 특정 행 (6)의 값에 대한 필터링을 허용하려고합니다. 그래서 같은 행에 에 대한 모든 열을 필터를 제공 할 수Excel Interop에서 한 열의 행에 대해서만 작동하도록 자동 필터를 제한하려면 어떻게합니까?

Range sixthRow = (Range)_xlSheet.Rows[6]; 
sixthRow.AutoFilter(1, 
     Type.Missing, 
     XlAutoFilterOperator.xlAnd, 
     Type.Missing, 
     true); 

... 또는과 같이 :

Range column1Row6 = _xlSheet.Range[_xlSheet.Cells[6, 1], _xlSheet.Cells[6, 1]]; 
column1Row6.AutoFilter(1, 
     Type.Missing, 
     XlAutoFilterOperator.xlAnd, 
     Type.Missing, 
     true); 

를 ... 그것은 다음과 같습니다 있도록 :

enter image description here

하지만 I에서만 열 (6) (이하 "열 (6)에서"부분은 잘 작동)에서, 첫 번째 열의 필터링 할뿐만 열 (2, 3), (4), nd 5 (그리고 더있을 수 있습니다).

전체 행이 아닌 첫 번째 열 (A 또는 1)에만 필터를 사용할 수 있습니까?

답변

2

질문을 올바르게 이해하면 일반 Excel에서 하나의 열을 필터링하는 데 사용하는 해킹이 있습니다. 필자는 전체 열을 강조 표시하고 필터 버튼을 눌렀는데, 이는 수만 행의 데이터가있을 때 정말 고통 스럽습니다.

셀 하나만 강조 표시된 경우 하나의 셀이 "특히 아무것도 표시하지 않음"이 강조 표시된 것처럼 전체 행을 자동 필터링합니다.

우연히도, 한 셀을 넘어서는 범위를 강조 표시하면 의도 한 바가 무엇인지 알아 내려고합니다. 이 경우 머리글 행 (A5)과 그 바로 아래 하나의 셀을 강조 표시 한 다음 필터를 누르면 전체 열을 강조 표시하는 것과 동일한 효과를 갖습니다.

_xlSheet.Range[_xlSheet.Cells[5, 1], _xlSheet.Cells[6, 1]].AutoFilter(); 
:

그래서, C#을 상호 운용성 측면에서이 해당 작업에 해당하는 것