이전 글에서 Range에 대해 알아보았습니다. 이번에는 Range의 속성 중에서 SpecialCells에 대해 알아보겠습니다.
1. SpecialCells 속성
엑셀에서 원하는 조건에 맞는 데이터들을 찾아 선택할 때 이동 메뉴를 이용합니다. 이 이동 메뉴처럼 SpecialCells를 이용하면 주어진 조건에 맞는 데이터들을 빠르게 찾을 수 있습니다.
사용하는 방법은 다음과 같습니다.
Range.SpecialCells(Type, Value)
1.1 Type 인자
Type에 사용하는 인자를 다음 표에 정리해보았습니다.
Type 인자 | 설 명 |
xlCellTypeAllFormatConditions | 모든 서식의 셀 지정 |
xlCellTypeAllValidation | 유효성 조건에 맞는 셀 지정 |
xlCellTypeBlank | 빈 셀 지정 |
xlCellTypeComments | 메모가 포함되어 있는 셀 지정 |
xlCellTypeConstants | 상수가 포함된 셀 지정 |
xlCellTypeFormulas | 수식이 포함된 셀 지정 |
xlCellTypeLastCell | 사용된 범위에서 마지막 셀 지정 |
xlCellTypeSameFormatConditions | 동일한 서식의 셀 지정 |
xlCellTypeSameValidation | 동일한 유효성 조건의 셀 지정 |
xlCellTypeVisible | 화면으로 보이는 모든 셀 지정 |
1.2 Value 인자
Value에 사용하는 인자를 다음 표에 정리해보았습니다.
Value 인자 | 설 명 |
xlNumbers | 숫자가 있는 셀 지정 |
xlTextValues | 텍스트가 있는 셀 지정 |
xlLogical | 수식(논리값)이 있는 셀 지정 |
xlErrors | 오류가 발생한 셀 지정 |
2. 예제로 확인
이전에 엑셀에서 빈 셀을 찾아 '0'을 입력하는 방법에 대해 알아보았습니다. 이번에는 VBA를 이용하여 빈 셀을 찾아 '0'값을 입력하는 코드를 작성해 보겠습니다.
[그림 1]과 같이 엑셀 시트에 가계부가 작성되어 있습니다. 여기에 엑셀 메뉴에서 개발도구-삽입-명령단추(ActiveX 컨트롤)를 클릭하고 원하는 위치에 마우스로 드래그하여 버튼 하나를 생성합니다. 생성한 버튼을 마우스 오른쪽 버튼으로 클릭하고 속성 창을 열거나 메뉴에서 개발도구-속성을 클릭합니다.
화면에 출력된 속성 창에서 Caption에는 버튼에 표시할 이름을 입력하고 이름에도 원하시는 이름을 입력하세요. 저는 이름은 'SpCells_Blank'를 Caption에는 '빈 셀 찾기'를 입력하였습니다. ( [그림 1] 참조 )
이제 생성한 버튼을 마우스 왼쪽 버튼으로 더블클릭합니다. 그러면 VBE 창이 출력됩니다. 그리고, 버튼이 클릭될 때의 코딩창이 출력됩니다. 이제 코딩 창에 아래와 같이 입력합니다.
Private Sub SpCells_Blank_Click()
Dim data As Range
Set data = Range("B2").CurrentRegion
data.SpecialCells(xlCellTypeBlanks).Value = 0
End Sub
코드를 작성한 후 엑셀 시트에 생성한 버튼을 클릭하면 가계부 내의 빈 셀에 '0'이 입력됩니다.
'엑셀 > VBA' 카테고리의 다른 글
VBA Range의 End 속성 이용하기 (0) | 2021.12.11 |
---|---|
VBA Range의 OFFSET과 RESIZE 속성 이용하기 (0) | 2021.12.11 |
엑셀 데이터를 Table로 사용하는 것을 VBA로 구현 - CurrentRegion (0) | 2021.10.20 |
VBA 셀(또는 범위) 지정 - Range, Cells (0) | 2021.10.19 |
VBA 엑셀 개체 다루기 - Range (0) | 2021.10.18 |