Lost Information!

엑셀 VBA 기초 - 엑셀 실무에서 필요한 지우기방법 - 2편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기초 - 엑셀 실무에서 필요한 지우기방법 - 2편

Lostinformation 2020. 10. 14. 16:40

모두가 칼퇴하는 그날까지~

지난 글에서는 

 

엑셀에서 쉽게 하는

지우기를 서식은 그대로

두고 내용만 지우는 방법,

delete와 clear의 차이에

대해서 설명해드렸는데요.

 

만일 저번 내용을 모르시거나

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2420

 

엑셀 VBA 기초 - 엑셀 실무에서 필요한 지우기방법 - 1편

모두가 칼퇴하는 그날까지~ 지난 글에서는 엑셀에서 쉽게 하는 복사와 붙여 넣기를 서식, 수식을 복사 전체 데이터 표에 붙여 넣기 하는 방법을 알려드렸는데요. 만일 저번 내용을 모르시거나

red-s.tistory.com

그럼 이번 글에서는 누구나

if문과 for문을 사용해서

엑셀 데이터를 삭제하는 방법

에 대해서 알려드리도록 할게요.

 

당연히 조건문이기에 

원하는 조건에 맞는 행들만

삭제할 때 유용하게 사용할 수 있죠.

 

그럼 먼저 저번과 같은

데이터 표가 있다고 가정해볼게요.

 

만일 성별이 여성만 조건문에서

delete 하게 된다면 차례대로

위에서 아래로 내려가며 

남성이면 그냥 두고 

여성이면 삭제하게 한다면 

어떻게 될까요?

 

저번 글에서 말씀드렸다시피

조건문을 활용해서 delete로

지우게 되면 지운행을 채우기 위해

올라가기 때문에 루키 6을 지워도

루키 7은 지워지지 않습니다.

 

왜냐하면 루키 7의 행이 루키 6 있던

자리로 올라가버릴 테니까요.

 

그래서 조건문으로 데이터를

삭제할 때는 위에서 아래가 아닌

아래에서 위로 가는 코드로 

만들어 주어야 합니다.

 

그럼 바로 VBA창을 실행 볼까요.

(ALT + F11 버튼을 눌러주세요)

 

마우스 오른쪽 버튼

삽입에서 모듈 버튼 클릭해주시고

만들 메크로 이름까지 설정할게요.

 

 

이렇게 적어주시면 됩니다.

 

바로 설명 들어갈게요.

 

Dim i As Long

변수 타입을 숫자로 하는 

i라는 변수를 만들게

    
For i = 20 To 7 Step -1
이 변수 i는 20부터 7까지

-1 줄어들어    

(이때 step-5라고 적는다면

숫자 5씩 이동한다)

 

If Cells(i, "d") = "여" Then

만약 변수 i행의 d열의 값이

"여"라고 나온다면

 

cells(i."d"). EntireROW.Delete

해당 행을 지워버려

 

그럼 이걸 실행하게 된다면

 

이렇게 성별의 여자에

대한 데이터는 지우고

남성만 남길 수 있게 되는 거죠.

 

셀. EntireRow 셀의 전체 행

셀. EntireColumn 셀의 전체 열

 

이것만 기억해주셔도 

원하는 행과 열을 지우 실수 

있게 되고요.

 

당연히 조건을 두 개 또는

세 개여도 삭제를 시킬 수도

있으며 원하는 조건으로 

데이터를 찾기에 좋을 거라고

생각합니다.

 

간혹 굳이 이렇게 삭제하지

않아도 빠르게 지울 수 있고

데이터를 찾을 때도 쉽게

찾을 수 있을 거라고

생각하시는 분들도 계실 텐데요.

 

눈에 보이는 양만큼의 

데이터는 직접 하시는 것과

크게 다르지 않지만

수천, 수만 개의 데이터 또한

이렇게 간단한 메크로 수초만에

해결할 수 있다는 거 항상 명심하시고요.

 

여기까지 궁금하신 점이

있다면 댓글에 남겨주시고요.

 

구독 공감도 부탁드릴게요~




 

Comments