엑셀 VBA에서 Clear 메서드는 셀 또는 범위의 데이터, 서식, 메모(댓글) 등을 제거할 때 사용됩니다.
즉, 특정 범위를 비우는 기능으로, Delete와 다르게 셀 자체는 삭제되지 않고 내용만 초기화됩니다.
1. 기본 Clear 메서드
Range("A1:A10").Clear
|
📌 A1:A10 범위의 모든 데이터, 서식, 메모(댓글), 유효성 검사 등을 제거
📌 셀은 그대로 남아 있으며, 기본 서식으로 초기화됨
2. 특정 요소만 제거 (ClearContents, ClearFormats 등)
메서드
|
설명
|
Clear
|
모든 데이터, 서식, 메모 삭제
|
ClearContents
|
값만 삭제 (서식 유지)
|
ClearFormats
|
서식만 삭제 (값 유지)
|
ClearComments
|
메모(댓글)만 삭제
|
ClearHyperlinks
|
하이퍼링크만 삭제
|
ClearNotes
|
메모(노트)만 삭제
|
ClearOutline
|
그룹화(아웃라인)만 삭제
|
ClearValidation
|
데이터 유효성 검사만 삭제
|
3. 값만 삭제 (ClearContents)
Sub 값만_삭제()
Range("A1:A10").ClearContents
End Sub
|
📌 A1:A10의 값만 삭제 (서식, 메모는 유지됨)
📌 Delete와 다르게 셀은 이동하지 않음
4. 서식만 삭제 (ClearFormats)
Sub 서식만_삭제()
Range("A1:A10").ClearFormats
End Sub
|
📌 A1:A10의 배경색, 글꼴, 테두리 등의 서식만 삭제 (값과 수식은 유지됨)
5. 메모(댓글)만 삭제 (ClearComments)
Sub 메모만_삭제()
Range("A1:A10").ClearComments
End Sub
|
📌 A1:A10의 메모(댓글)만 삭제
6. 하이퍼링크만 삭제 (ClearHyperlinks)
Sub 하이퍼링크_삭제()
Range("A1:A10").ClearHyperlinks
End Sub
|
📌 A1:A10의 하이퍼링크만 제거 (값과 서식은 유지됨)
📌 텍스트는 그대로 남아 있지만, 클릭하면 이동하지 않음
7. 데이터 유효성 검사 삭제 (ClearValidation)
Sub 유효성검사_삭제()
Range("A1:A10").ClearValidation
End Sub
|
📌 A1:A10에 적용된 유효성 검사(예: 목록, 숫자 범위 등)만 삭제
8. 아웃라인(그룹화) 제거 (ClearOutline)
Sub 아웃라인_삭제()
Range("A1:A10").ClearOutline
End Sub
|
📌 A1:A10의 그룹화(아웃라인)만 삭제
9. 워크시트 전체 초기화
📌 전체 데이터 삭제
Sub 전체_데이터_삭제()
Cells.Clear
End Sub
|
📌 현재 시트의 모든 데이터, 서식, 메모 삭제
📌 전체 값만 삭제 (ClearContents)
Sub 전체_값만_삭제()
Cells.ClearContents
End Sub
|
📌 현재 시트의 값만 삭제 (서식 유지)
📌 전체 서식만 삭제 (ClearFormats)
Sub 전체_서식만_삭제()
Cells.ClearFormats
End Sub
|
📌 현재 시트의 서식만 삭제 (값과 수식 유지)
📌 시트 전체 정리 (값 + 서식 + 메모 + 유효성 검사 삭제)
Sub 시트_완전초기화()
Cells.Clear
Cells.ClearComments
Cells.ClearHyperlinks
Cells.ClearValidation
End Sub
|
📌 현재 시트의 모든 데이터를 초기화하고, 메모, 하이퍼링크, 유효성 검사까지 삭제
10. 특정 조건을 만족하는 셀만 삭제
📌 빈 셀만 삭제
Sub 빈셀만_삭제()
Dim rng As Range
Set rng = Range("A1:A100").SpecialCells(xlCellTypeBlanks)
rng.ClearContents
End Sub
|
📌 A1:A100 범위 내 빈 셀의 값만 삭제
📌 특정 값이 포함된 셀만 삭제
Sub 특정값_삭제()
Dim rng As Range, cell As Range
Set rng = Range("A1:A100")
For Each cell In rng
If cell.Value = "삭제" Then
cell.ClearContents
End If
Next cell
End Sub
|
📌 A1:A100에서 값이 "삭제"인 셀만 삭제
📝 정리
기능
|
VBA 코드
|
모든 데이터, 서식 삭제
|
Range("A1:A10").Clear
|
값만 삭제 (서식 유지)
|
Range("A1:A10").ClearContents
|
서식만 삭제 (값 유지)
|
Range("A1:A10").ClearFormats
|
메모(댓글)만 삭제
|
Range("A1:A10").ClearComments
|
하이퍼링크만 삭제
|
Range("A1:A10").ClearHyperlinks
|
데이터 유효성 검사 삭제
|
Range("A1:A10").ClearValidation
|
아웃라인(그룹화) 삭제
|
Range("A1:A10").ClearOutline
|
워크시트 전체 데이터 삭제
|
Cells.Clear
|
워크시트 전체 값만 삭제
|
Cells.ClearContents
|
워크시트 전체 서식만 삭제
|
Cells.ClearFormats
|
빈 셀의 값만 삭제
|
Range("A1:A100").SpecialCells(xlCellTypeBlanks).ClearContents
|
특정 값이 포함된 셀만 삭제
|
If cell.Value = "삭제" Then cell.ClearContents
|
🔥 VBA의 Clear를 활용하면 데이터를 빠르고 효과적으로 정리할 수 있습니다! 🚀