2017-10-01 1 views
2

스프레드 시트가 30 개 정도 있습니다. 내 목표는 1 열을 기반으로 집합을 필터링하는 것입니다. 그리고 내 접근 방식은 범위를 지정된 열로 지정한 다음 해당 범위를 필터링하는 것입니다. 모든 열에 자동 필터가 있지만 필드를 지정할 때 = 1은 첫 번째 열을 선택합니다. 범위는 범위를 벗어납니다. 따라서 항상 "A"열을 필터링하려고합니다 ... "U"열을 원하는대로 선택하지 마십시오. 이 필드를 사용하는 방법을 잘못 이해하고 있습니까? 나는 그것이 w/in 범위에서 오프셋되었지만.올바른 열을 나타내려면 자동 필터 필드 표시기를 얻으려면 어떻게해야합니까?

여기에 간단한 예제 여담으로

Dim r As Range 
Dim sheet As Worksheet 

Set sheet = ThisWorkbook.Worksheets("test") 
sheet.Range("u1:u9").AutoFilter field:=1, Criteria1:="Will" 

... 열 문자와 관련된 열 번호를 얻을 수있는 방법이있어? 예를 들어 U -> 21. 그렇다면 전체 스프레드 시트를 범위로 선택하고 오프셋 21을 수행 할 수 있습니다.

답변

0

하나의 열에 필터를 적용하려면 먼저 기존 필터를 지워야합니다.

귀하의 불통 코드는 다음과 같은 것 그리고

또한 모든 컬럼에 필터를 적용 할 수있다 ...에만 열 U에

Sub test() 
Dim r As Range 
Dim sheet As Worksheet 

Set sheet = ThisWorkbook.Worksheets("test") 
sheet.AutoFilterMode = False 
sheet.Range("u1:u9").AutoFilter field:=1, Criteria1:="Will" 
End Sub 

또는

을 필터를 적용하고를 지정합니다 필드 기준을 올바르게

너무 ...

Sub test2() 
Dim r As Range 
Dim sheet As Worksheet 
Set sheet = ThisWorkbook.Worksheets("test") 
Set r = sheet.Range("U1") 
sheet.AutoFilterMode = False 
sheet.Range("A1").CurrentRegion.AutoFilter field:=r.Column, Criteria1:="Will" 
End Sub 
+0

sktneer ...이 시도 감사하라. 내가 알지도 못했던 두 가지 아이템/ – Cooper5114

+0

@ Cooper5114 환영합니다! 다행이되어 도움이 되셨습니다. 문제가 해결되면 잠시 시간을내어 답을 수락하여 질문을 해결 됨으로 표시하십시오. :) – sktneer

관련 문제