본문 바로가기
엑셀/VBA

[엑셀]VBA입문(8)-지우기(delete, clear)

by 이지블로그 2020. 10. 7.

이전 글

[엑셀] VBA입문(0)-VBA란?

[엑셀] VBA입문(1)-VBA실행법

[엑셀] VBA입문(2)-변수

[엑셀] VBA입문(3)-반복문

[엑셀] VBA입문(4)-반복문 2

[엑셀] VBA입문(5)-조건문 IF

[엑셀] VBA입문(6)-끝열, 끝행 찾기

[엑셀] VBA입문(7)-복사, 붙여 넣기

 


오늘은 VBA를 통해 셀의 내용, 서식 등을 지우거나 삭제하는 방법에 대해 알아봅시다.

 

먼저 VBA에서 지운다고 하면 생각나는 것이 2개 있습니다. delete와 clear입니다.

둘은 비슷해 보이지만 실행해보면 큰 차이가 있는데

자세한 것은 배우면서 알아봅시다.

 

 

 

먼저 어디를 지웠는지 알기 쉽게 구구단 판을 하나 만들었습니다.

그리고 같은 범위를 지정하고 clear와 delete를 실행해 보겠습니다.

왼쪽이 clear, 오른쪽이 delete를 실행한 결과입니다.

clear는 지정한 부분이 지워졌고 delete는 지정한 부분이 지워지면서 사라진 칸을 아래 있던 값들이 자동으로 채웠습니다.

clear와 delete의 차이점을 느끼셨나요?

clear는 선택한 공간의 내용과 서식을 지우는 것이고, delete는 선택한 공간을 삭제하는 것입니다.

delete는 삭제와 같다.

그럼 먼저 delete에 대해 알아봅시다.

delete는 앞서 말했듯이 선택한 영역을 삭제하는 것입니다. 그리고 삭제에 방법에는 위에 사진과 같이 4가지가 있습니다.

 

왼쪽으로 밀기, 위로 밀기, 행 전체, 열 전체

 

그럼 셀을 왼쪽으로 밀기로 한번 delete를 사용해 보겠습니다.

 

Sub delleft()

    Range("b2:c3").Delete xlToLeft

End Sub

 

 

delete 뒤에 xlToLeft를 붙여주면 셀이 왼쪽으로 밀립니다.

4가지 방법은 아래와 같습니다.

.Delete xlToLeft          셀이 왼쪽으로 밀림
.Delete xlUp              셀이 위로 밀림
.EntireRow.Delete       선택한 셀이 속한 행 삭제
.EntireColumn.Delete  선택한 셀이 속한 열 삭제

삭제를 알려드리는 김에 삽입도 알려드리자면 delete대신

.Insert Shift:=xlDown 아래에 삽입

.Insert Shift:=xlToRight 오른쪽에 삽입 

이처럼 사용 가능합니다.

 

그럼 이제 clear에 대해 알아봅시다.

클리어는 값과 서식 등을 지우는 것을 선택할 수 있는데

Clear 전체 지우기

ClearNotes 메모, 소리 메모 지우기

ClearHyperlinks 하이퍼링크 지우기

ClearOutline 윤곽선 지우기

ClearFormat 서식 지우기

ClearContents 값 지우기

ClearComments 메모 지우기

위와 같이 사용할 수 있습니다.

그럼 서식 지우기를 사용해보겠습니다.

 

Sub clrfm()

    Range("b2:c3").ClearFormats

End Sub

선택영역의 서식만 사라진 것을 확인할 수 있습니다.

 

만약 formats 대신 contents를 사용했다면 서식은 남지만 값은 사라질 것입니다.

 

 

이것으로 제가 계획했던 내용은 끝입니다.

 

VBA를 처음 배운다면 이것들만 알아도 나머지는 검색해 찾아가면서 한다면 원하는 내용을 만들기는 충분할 것입니다.

결국 코딩은 조건과 반복이니까요.

빠르게 실력을 늘리고 싶으시다면 원하시는 파일을 한번 만들어보세요.

흥미도 느끼고, 손에 익히고, 실력도 느니까 그러다 보면 어느새 VBA장인이 되어있을 지도 모르죠.

 

그럼 여기서 VBA입문 마치겠습니다.

반응형