엑셀(Excel) VBA - SpecialCells 속성을 이용해 조건에 맞는 셀 선택하기 |
환경 : Microsoft Excel 2010 |
SpecialCells 속성은 특정영역의 셀을 선택할수 있도록 해 줍니다. 엑셀에서 이동옵션을 사용할 때 빈셀을 대상으로 하거나 수식이 입력된 셀만 복사하는 등의 작업을 하곤 하는데 SpecialCells 이용해 같은 기능을 구현할수 있습니다.
▼ SpecialCells 속성은 괄호안에 상수를 넣어 옵션을 지정합니다. 아래는 지정할수 있는 상수의 목록입니다.
l xlCellTypeAllFormatConditions : 모든 서식의 셀 지정
l xlCellTypeAllValidation : 유효성조건에 만족하는 셀 지정
l xlCellTypeBlanks : 비어있는 셀 지정
l xlCellTypeComments : 메모를 포함하고 있는 셀 지정
l xlCellTypeConstants : 상수를 포함하고 있는 셀 지정
l xlCellTypeFormulas : 수식을 포함하고 있는 셀 지정
l xlCellTypeLastCell : 사용된 범위에서 마지막 셀 지정
l xlCellTypeSameFormatConditions : 동일한 서식의 셀 지정
l xlCellTypeSameValidation : 동일한 유효성 조건 셀 지정
l xlCellTypeVisible : 보이는 모든 셀 지정
▼ 샘플은 빈셀을 복사하기 위한 옵션을 지정한 것입니다. 직접실행 창에서 소스를 넣고 Enter 를 누르게 되면 워크시트의 영역에서 빈셀만 선택되어 지는 것을 볼수 있습니다.
ActiveSheet.Range("A2").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select |
▼ 두 번째 인수는 안넣어도 되는데 선택한 값에서 셀의 형식에 해당하는 값을 가져올수 있습니다. 한번더 걸러 준다고 보면 됩니다.
l xlErrors : 에러가 있는 셀지정
l xlLogical : 수식이 있는 셀지정
l xlNumbers : 숫자에 해당하는 셀지정
l xlTextValues : 텍스트에 해당하는 셀지정
▼ 하나씩 실을 실행해보시면 첫번째는 선택한셀에서 텍스트에 해당하는 부분만 다시 선택하게 되고 두번째는 숫자에 해당하는 부분만 선택하게 됩니다.
ActiveSheet.Range("A2").CurrentRegion.SpecialCells(xlCellTypeConstants, xlTextValues).Select ActiveSheet.Range("A2").CurrentRegion.SpecialCells(xlCellTypeConstants, xlTextValues).Select |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀(Excel) VBA - 사용자 정의 폼으로 로그인 기능 만들기 3부 (6) | 2014.12.07 |
---|---|
엑셀(Excel) VBA - 사용자 정의 폼으로 로그인 기능 만들기 2부 (1) | 2014.12.06 |
엑셀(Excel) VBA - 사용자 정의 폼으로 로그인 기능 만들기 1부 (0) | 2014.12.06 |
엑셀(Excel) VBA - PrintPreview, PrintOut 함수로 인쇄미리보기, 인쇄하기 실행 (0) | 2014.12.03 |
엑셀(Excel) VBA - Union, Intersect 함수를 이용해서 영역의 합집합,교집합 구하기 (0) | 2014.12.02 |
엑셀(Excel) VBA - Comments 속성을 사용해서 메모추가와 서식지정하기 (0) | 2014.12.01 |
엑셀(Excel) VBA - Clear, ClearContents, ClearFormats 함수에 대한 사용법 (0) | 2014.11.30 |
엑셀(Excel) VBA - InputBox 를 통한 다양한 형태의 값 입력받기 (0) | 2014.11.22 |