일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 엑셀#직장인칼퇴#칼퇴#직장인엑셀#VBA 배열#배열변수
- 랜덤채팅 사기
- 메신저톡 사기
- 카톡 영상 유출
- 팀카시아
- 몸캠피싱
- 카카오톡 협박
- 카톡 영상 협박
- 카톡 영상 사기
- 사이버범죄구제업체
- 동영상 사기
- 라인 동영상 유포
- 영상통화 유출
- 라바웨이브
- 카카오톡 사기
- 영통협박
- 영통사기
- 사이버범죄구제
- 영상 사기
- 영상통화사기
- 영상통화 사기
- 사이버 범죄 구제 업체
- 동영상유포협박
- 몸캠피씽
- 라인 영상통화 협박
- 영상사기
- 영상통화 협박
- 영상유출
- 라인 영상통화 사기
- 영통 협박
- Today
- Total
Lost Information!
엑셀 VBA 기초 - union과 intersect 합집합과 교집합 활용하기 - 1편 본문
엑셀 VBA 기초 - union과 intersect 합집합과 교집합 활용하기 - 1편
Lostinformation 2020. 11. 16. 13:08모두가 칼퇴하는 그날까지~
지난 글에서는
엑셀 데이터의
중복된 데이터를
제거하는 방법을
알려드렸는데요.
만일 저번 내용을 모르시거나
기억이 나질 않으신다면
밑에 글을 참고해주세요.
엑셀 VBA 기초 - 중복제거하기
모두가 칼퇴하는 그날까지~ 지난 글에서는 엑셀의 오른 차순과 내림차순을 원하는 만큼 이용하여 매크로로 만드는 방법에 대해 알려드렸는데요. 만일 저번 내용을 모르시거나 기억이 나질 않
red-s.tistory.com
이번 글에서는
엑셀의 교집합과
합집합을 활용하는 방법을
알려드리도록 하겠습니다.
우선 매크로는 작성할 때
사용하는 intersect는
교집합이라고 하며
union은 합집합입니다.
교집합은 말 그대로
여러 개의 조건들을
다 부합할 때 사용하기 위한
매크로라고 생각하시면 되고요.
합집합은 말 그대로
여러 개의 조건들 중
한 개라도 부합하는 데이터를
추출하기 위한 매크로라고
생각하시면 편할 것입니다.
그럼 바로 엑셀을
실행하겠습니다.
먼저 위와 같은 데이터가
있다고 가정하고
시작하겠습니다.
그럼 ALT + F11을 눌러
비주얼 베이직 창을
실행시켜주시고
마우스 오른쪽 버튼과
삽입에 모듈을 눌러주세요.
이렇게 창이 나올 수
있도록 말이죠.
그럼 바로 작성 시작할게요.
이렇게 적어주시면 됩니다.
바로 설명 들어가면
Sub union_test01()
유니온 테스트 01
이라는 매크로를 만들게
Dim lngE As Long
lngE라는 변수를 설정하고
Dim rngD As Range
lngD라는 변수를 설정하고
Dim i As Long
i라는 변수를 설정할게
lngE = Range("F10000"). End(xlUp). Row
lngE는 F10000부터 위로
올라오면서 마지막행을 찾아
For i = 7 To lngE
7부터 마지막행까지
반복 작업하면 되는데
If Range("G" & i) = "남" Then
만약 G값이 남이라면
If rngD Is Nothing Then
rngD값이 지정되어
있지 않다면
Set rngD = Range("G" & i)
rngD는 g값이고
Else
아니라면
Set rngD = Union(rngD, Range("G" & i))
rngD는 기존의 값과
새로 나온 데이터 값을
합쳐서 다시 구성해
여기까지 적으시고요.
위의 매크로로 남자에
해당하는 데이터를
모두 찾고 합쳤는데
If rngD Is Nothing Then
MsgBox "삭제할 범위가 없어요"
rngD의 값이 없다면
삭제할 범위가 없다는
메시지 박스를 띄우고
Else
rngD.EntireRow.Delete
그게 아니라면
rngD의 값을 지워주세요.
이렇게 다 적고
실행하면
이렇게 남성에 관한
데이터만 지워지고
여성 데이터만 볼 수 있게 되며
한 번 더 실행하게 되면
이렇게 메시지 박스가
뜰 수 있도록 설정한 것입니다.
처음 알게 된
union이라서 조금은
헷갈리실 수도 있지만
그만큼 직접 적어보시고
익숙해지시길 바랍니다.
다음 글에서도 이어서
합집합에 대해 알려드릴게요.
여기까지 궁금하신 점은
댓글에 남겨주시고
공감과 구독도 부탁드릴게요.