ABOUT ME

애드센스,티스토리,IT,생활정보, 전쟁, 뉴스, 엽기적인, 사람사는 이야기 들로 채워나가고 싶네요

Today
Yesterday
Total
  • 엑셀 VBA Special cells 속성을 활용해 조건에 맞는 셀 선택
    Dung--[엑셀] 2023. 4. 4. 15:21

     

    specialcells 속성은 특정영역의 셀을 선택할 수 있게 하여줍니다. 엑셀에서 이동옵션을 활용할 때 빈셀을 대상으로 하거나 수식이 입력된 셀만 복사하는 여러 작업을 하는데 specialells을 이용하여 같은 기능들을 구현하실 수 있습니다.

     



    엑셀 예시1

    1. specialcells 속성은 괄호안에 상수를 넣어 옵션을 설정합니다. 하단엔 지정할 수 있는 상수의 내용들입니다.

     

    - xlCellTypeAllFormatConditions : 모든 서식의 셀 지정
    - xlCellTypeAllValidation : 유효성조건에 만족하는 셀 지정
    - xlCellTypeBlanks : 비어있는 셀 지정
    - xlCellTypeComments : 메모를 포함하고 있는 셀 지정
    - xlCellTypeConstants : 상수를 포함하고 있는 셀 지정
    -  xlCellTypeFormulas : 수식을 포함하고 있는 셀 지정
    -  xlCellTypeLastCell : 사용된 범위에서 마지막 셀 지정
    -  xlCellTypeSameFormatConditions : 동일한 서식의 셀 지정
    -  xlCellTypeSameValidation : 동일한 유효성 조건 셀 지정
    -  xlCellTypeVisible : 보이는 모든 셀 지정

     

    2. 샘플은 빈셀을 복사하기 위해서 옵션을 설정한 것입니다. 직접실행 창에서 소스를 넣고 enter를 치시게 되면 워크시트의 영역에서 빈셀만 선택되는것을 보실 수 있습니다.


    ActiveSheet.Range("A2").CurrentRegion.SpecialCells(xlCellTypeBlanks).Select

    엑셀 예시2

    3. 두번째 인수는 안넣으셔도 되는데 선택한 값에서 셀의 형식에 해당하는 값을 가져올 수가 있습니다. 한번 더 걸러주신다고 보시면 됩니다.

     

    - xlErrors : 에러가 있는 셀지정
    - xlLogical : 수식이 있는 셀지정
    - xlNumbers : 숫자에 해당하는 셀지정
    - xlTextValues : 텍스트에 해당하는 셀지정

     

    4. 하나씩 실을 실행하여보면 첫번째는 선택하신셀에서 텍스트에 해당하는 부분만 다시 선택하게 되며 두번째는 숫자에 해당하는 부분만 선택하게 됩니다.


    ActiveSheet.Range("A2").CurrentRegion.SpecialCells(xlCellTypeConstants, xlTextValues).Select
    ActiveSheet.Range("A2").CurrentRegion.SpecialCells(xlCellTypeConstants, xlTextValues).Select

    엑셀 예시3

    댓글

Designed by Tistory.