본문 바로가기
엑셀 마스터

엑셀 VBA 청소 3총사! Clear, ClearContents, ClearFormats 완벽 정리 ✨🧹

by 가우리스 2025. 4. 7.
반응형

엑셀 VBA 청소 3총사! Clear, ClearContents, ClearFormats 완벽 정리

 

엑셀 VBA 청소 3총사! Clear, ClearContents, ClearFormats 완벽 정리 ✨🧹

안녕하세요, 이웃님들! 😊 엑셀 작업하다 보면, 표에 있는 데이터는 지우고 서식은 남겨두고 싶거나, 반대로 내용은 그대로 두고 서식만 싹~ 지우고 싶을 때가 있죠? 아니면 아예 처음처럼 깨끗하게 다 지워버리고 싶을 때도 있고요. 일일이 마우스로 선택하고 옵션 찾아 누르려면 번거로울 때가 많아요. 😅

 

그래서 오늘은 우리 이웃님들의 엑셀 시트를 깔끔하게 정리하는 데 도움을 줄 아주 유용한 VBA '청소 3총사'를 소개해 드리려고 해요! 바로 Clear, ClearContents, ClearFormats 메서드인데요. 이름만 봐도 뭔가 지우는 역할을 할 것 같죠? 😉 각각 어떤 차이가 있고 어떻게 사용하는지, 제가 쉽고 명확하게 알려드릴게요!

 

"VBA 메서드? 또 어려운 거 아니야?" 걱정 붙들어 매세요! 정말 간단하고 활용도 높은 기능들이니, 저와 함께 깔끔한 엑셀 관리의 세계로 떠나보시죠! 😊

 

✨ 엑셀 청소 3총사를 소개합니다!

이 세 친구는 모두 특정 범위(Range)의 내용을 정리하는 역할을 하지만, 저마다 청소하는 범위가 다르답니다. 마치 집 청소할 때 쓰는 도구가 다른 것처럼요! 🧹🧼

  1. ClearContents: 내용물만 쏙! (값 지우개)
  2. ClearFormats: 꾸밈만 싹! (서식 지우개)
  3. Clear: 전부 다 싹쓸이! (만능 청소기)

자, 그럼 하나씩 자세히 알아볼까요?

1. ClearContents: 값 & 수식만 깔끔하게! (내용 지우개)

이름 그대로 셀의 '내용(Contents)'만 지우는 역할을 해요. 즉, 셀에 입력된 값(텍스트, 숫자 등)과 수식만 싹 지워줍니다. 하지만 셀의 배경색, 글꼴, 테두리 등 서식은 그대로 남겨둬요!

마치 예쁘게 꾸며진 칠판에 적힌 글씨만 지우개로 쓱 지우는 것과 같다고 생각하시면 돼요. 칠판의 장식은 그대로 남아있죠? 😉

사용법:

Sub ClearOnlyContents()
    Dim targetRange As Range
    ' 예시: A1부터 B5까지 범위를 선택
    Set targetRange = Range("A1:B5")

    ' 선택된 범위의 내용(값, 수식)만 지웁니다.
    targetRange.ClearContents

    MsgBox targetRange.Address & " 범위의 내용(값, 수식)을 지웠습니다."
End Sub

코드 설명:

  • Dim targetRange As Range: 셀 범위를 담을 변수를 선언해요.
  • Set targetRange = Range("A1:B5"): 지우고 싶은 범위를 지정해요. Selection을 사용하면 현재 선택된 셀 범위를 대상으로 할 수도 있어요.
  • targetRange.ClearContents: 여기가 핵심! 지정된 범위의 내용만 싹 지워줍니다.

언제 사용할까요?

  • 데이터 입력 양식에서 이전에 입력된 값만 지우고 양식 틀(서식)은 남겨두고 싶을 때
  • 계산 결과는 지우고 수식 입력 칸이나 기본 서식은 유지하고 싶을 때
  • 새로운 데이터를 입력하기 전에 기존 데이터만 깔끔하게 지우고 싶을 때

2. ClearFormats: 서식만 원래대로! (꾸밈 지우개)

이 친구는 ClearContents와는 정반대예요! 셀에 입력된 값이나 수식은 그대로 두고, 적용된 모든 서식(글꼴, 크기, 색상, 배경색, 테두리, 표시 형식 등)만 지워서 기본 상태로 되돌려줘요.

마치 글씨가 적힌 종이에 있던 형광펜 표시나 밑줄 같은 꾸밈 요소만 싹 지워서 원래의 하얀 종이 상태로 만드는 것과 비슷해요. 글씨는 그대로 남아있죠! 😊

사용법:

Sub ClearOnlyFormats()
    Dim targetRange As Range
    ' 예시: 현재 선택된 셀 범위를 대상으로 지정
    Set targetRange = Selection ' 또는 Range("C1:D10") 처럼 직접 지정

    ' 선택된 범위의 서식만 지웁니다.
    targetRange.ClearFormats

    MsgBox targetRange.Address & " 범위의 서식을 지웠습니다."
End Sub

코드 설명:

  • targetRange.ClearFormats: 지정된 범위의 서식만 깔끔하게 지워줍니다. 내용은 그대로!

언제 사용할까요?

  • 복사/붙여넣기 등으로 인해 지저분해진 서식을 한 번에 초기화하고 싶을 때
  • 내용은 유지하면서 기본 서식으로 통일하고 싶을 때
  • 표 서식을 제거하고 순수한 데이터만 남기고 싶을 때 (물론 값은 남아있어요!)

3. Clear: 모든 것을 깨끗하게! (만능 청소기)

이름처럼 가장 강력한 친구예요! 셀에 있는 모든 것을 지워버립니다. 즉, 값, 수식, 서식, 메모, 하이퍼링크까지! 셀을 완전히 처음 상태처럼 깨끗하게 만드는 거죠.

마치 칠판에 적힌 글씨, 붙어있던 자석, 그림, 낙서까지 전부 다 지우고 물걸레로 싹 닦아낸 상태라고 생각하시면 돼요! ✨

사용법:

Sub ClearEverything()
    Dim targetRange As Range
    ' 예시: E열 전체를 대상으로 지정
    Set targetRange = Columns("E") ' 또는 ActiveSheet.UsedRange 처럼 지정 가능

    ' 선택된 범위의 모든 것(내용, 서식, 메모 등)을 지웁니다.
    targetRange.Clear

    MsgBox targetRange.Address & " 범위의 모든 것을 지웠습니다."
End Sub

코드 설명:

  • targetRange.Clear: 지정된 범위의 모든 것을 흔적도 없이 지워줍니다.

언제 사용할까요?

  • 특정 시트나 범위를 완전히 초기화하고 싶을 때
  • 불필요한 데이터를 서식이나 메모까지 포함해서 완전히 제거하고 싶을 때
  • 새로운 작업을 위해 기존 내용을 완전히 비우고 싶을 때

⚠️ 주의하세요!

Clear 메서드는 정말 강력해서 실행하면 되돌릴 수 없습니다! (Ctrl+Z 안 돼요!) 중요한 데이터가 있는 범위에 실수로 사용하지 않도록 항상 어떤 범위를 대상으로 하는지 명확히 확인하고 사용해야 합니다!

🎯 한눈에 비교하기!

메서드 내용(값/수식) 지우기 서식 지우기 메모/하이퍼링크 지우기 특징
ClearContents 내용만 지우고 서식은 그대로!
ClearFormats 서식만 지우고 내용은 그대로!
Clear 모든 것을 깨끗하게! (되돌리기 불가)

💡 실제 활용 예시: 선택 영역 내용 지우고 기본 서식 적용하기

Sub ClearContentsAndApplyBasicFormat()
    Dim selectedRange As Range

    ' 현재 선택된 범위가 없으면 매크로 종료
    If Selection Is Nothing Then Exit Sub
    Set selectedRange = Selection

    ' 1. 선택 영역의 내용(값, 수식) 지우기
    selectedRange.ClearContents

    ' 2. 선택 영역의 서식 초기화하기 (선택 사항)
    ' selectedRange.ClearFormats ' 만약 서식도 초기화하고 싶다면 이 줄의 주석 해제

    ' 3. 선택 영역에 기본 서식 적용하기 (예: 글꼴, 크기)
    With selectedRange.Font
        .Name = "맑은 고딕" ' 원하는 기본 글꼴로 변경
        .Size = 11       ' 원하는 기본 크기로 변경
        .Bold = False
        .Italic = False
        .ColorIndex = xlAutomatic ' 검정색
    End With
    ' selectedRange.Interior.ColorIndex = xlNone ' 배경색 없음 (필요시 추가)

    MsgBox "선택 영역의 내용을 지우고 기본 서식을 적용했습니다."
End Sub

🗣️ 써본 사람들은 이렇게 말해요! (네티즌 & 사용자 의견)

  • "매번 데이터 지우고 서식 다시 입히기 귀찮았는데 ClearContents 쓰니 너무 편해요!"
  • "복붙으로 서식 엉망된 거 ClearFormats 한방에 해결! 속이 다 시원하네요."
  • "시트 전체 초기화할 때 Clear 쓰니까 완전 깔끔! 근데 잘못 누를까 봐 조심해야 해요 ㅋㅋ"
  • "이 세 가지만 잘 구분해서 써도 엑셀 정리 시간이 확 줄어들어요!"
  • "VBA 처음인데 이건 정말 쉽고 유용하네요. 자주 쓸 것 같아요."

✨ 결론: 상황에 맞게 골라 쓰는 엑셀 청소 도구!

Clear, ClearContents, ClearFormats 이 세 가지 메서드만 잘 알아두셔도 엑셀 데이터를 정리하고 관리하는 작업이 훨씬 수월해지실 거예요! 😊 어떤 것을 남기고 어떤 것을 지울지 상황에 맞게 딱 맞는 도구를 선택해서 사용하면, 불필요한 반복 작업 없이 깔끔하고 효율적으로 엑셀을 관리할 수 있답니다.

 

오늘 배운 내용, 이웃님들의 엑셀 작업에 꼭 한번 적용해보세요! 아마 금방 그 편리함을 느끼실 수 있을 거예요. 😉

궁금한 점이나 더 알고 싶은 VBA 기능이 있다면 언제든 댓글 남겨주시고요, 다음에 또 유용한 엑셀 꿀팁으로 찾아뵙겠습니다! 😊

반응형
반응형