하나셀-초간단 피봇

1백만 건 데이터도 3초면 OK!복잡한 부분합이나 그룹 함수 몰라도 클릭 한 번이면 자동으로 중복 제거, 건수와 합계까지 완성.

하나셀-카카오톡 PC 발송

복사 붙여넣기는 이제 그만! 카카오톡 PC버전에서 메시지를 직접 자동 입력해 1:1로 깔끔하게 보낼 수 있어요. 단체방에서 개인정보 유출 걱정 없이, 100명이 넘는 고객에게도 일일이 손 안 대고 안부를 전하세요.
엑셀자료 사용 안내 엑셀 매크로(VBA)를 이용하여 만든 간단한 프로그램과 엑셀 매크로(VBA)를 배울 수 있는 강좌가 있습니다.따라서, 대부분 프로그램을 이용하기 위해서는 엑셀 매크로 사용하기 설정을 하여야 합니다. (1.보안설정) 클릭 (2.개발도구설정) 클릭 3.매크로 차단 해제 방법

엑셀 매크로(VBA)는 변수를 선언하거나, 배열을 몰라도 할 수 있습니다.

​

저는 프로그램을 공부한 경험이 없지만, 업무에 필요한 일들은 엑셀 매크로(VBA)로 처리해 왔습니다. 따라서, 일반적인 VBA 스크립트와는 다소 다른 형식으로 작성합니다. 

​

저와 같이 VBA를 배워간다면 어려운 변수 선언이나, 오브젝트를 설정하지 않고 직접 눈으로 보면서 스크립트를 만들어 갈 수 있습니다.


 

실제 사례를 통해서, 매크로(VBA)가 얼마나 쉬운지 설명드리겠습니다.

​

네이버 지식인 등에 많은 질문이 엑셀 파일 정리 중 하나가 바로 "중복 행 찾기" 입니다.

​

A라는 데이터 그룹과 B라는 데이트 그룹이 있으면, 

A데이터에도 있고 B데이터에도 있는 것을 찾고 싶은 경우입니다.

​

예를 들자면, 회사에서 자기 부서에서 관리하고 있는 직원 명단에 옆 부서에서 관리 중인 직원 명단을 비교하는 경우에 생길 수 있는 등, 무수히 많은 경우가 있습니다.

​

이 경우 단순한 해결은 엑셀이 제공하는 함수 vlookup을 사용해서 같은 항목을 찾아낼 수 있습니다. 

​

아래와 같이 2개의 쉬트가 있습니다.

 

첫째는 2020년 리스트이고

이미지 000001.png

 

 

둘째는 2019년 리스트입니다.

이미지 000002.png

 

이제 이 두 개의 쉬트를 비교해서 중복이 되는 회원을 F열에 기록하는 매크로(VBA)를 만들어 봅니다.

이름으로만 비교하는 경우 동명이인이 있을 수 있기에 보통 중복 데이터를 찾는다는 것은 이름 + 주민번호

또는 이름 + 핸드폰번호 등 입니다.

​

이곳에서는 이름 + 핸드폰 번호가 동일한 중복 데이터를 찾아서 F열에 중복여부를 기록하겠습니다.

​

​왕 초보용 엑셀 매크로(VBA) 배우기 - 1 에서 알아봤던 3가지만 가지고 만들어 보도록 하겠습니다.

 

 

이것만 알면 VBA 스크립트를 작성할 수 있습니다.

​


① i = i +1 

② if   then  else end if

③ for    to    next 


 

직접 스크립트를 작성했습니다.

그 결과 중복 데이터를 찾아서 기록하는 스크립트는 위에서 중요한 3가지만 가지고 작성해도 충분합니다.

그리고 겨우 12줄로 충분했습니다.

 

이미지 000003.png

 

 

실제로 구동되는(작동되는) 프로그램입니다.

프로그램에 등장하는 변수 선언도 없으며, 프로그램머가 사용하는 전문적인 명령어는 한 가지도 없습니다.

거의 자연어에 가깝게 읽고 이해할 수 있습니다.

Sheets("명단2019년").Select 라는 명령어를 살펴보면 너무 잘 알 수 있습니다.

"Sheets("명단2019년").선택해라" - 별다른 설명을 할 필요가 없습니다.

​

엑셀 매크로(VBA)는 대부분 이렇게 작성할 수 있습니다. (하지만 효율적이지는 않습니다. - 프로그램을 실행하면 엑셀은 힘들어요. 하지만 내가 힘들지 않기 때문에 상관없어요.)

 

이미지 000004.png

 

위 로직은 단순합니다.

​

명단2020년 1번에 있는 식별자(i_id-김회원010-1234-5678)를 명단2019년에서 8명을 전부 검색해서 회원이름 + 핸드폰번호가 같으면 명단2019년 F칼럼에 "중복"이라고 기재합니다. 같은 식으로 1번, 2번, 3번 ~ 10번까지 검색합니다.

즉 명단2020년 회원 10명 각각을 명단2019년 회원 8명 각각에 대입해서 일치 여부를 판단하게 됩니다.

​

엄청 명쾌하고 단순합니다.

​

위 스크립트는 명단2019년에만 중복여부를 표시하게 됩니다.

만약 명단2020년에도 중복여부를 표시하려면 어떻게 하면 될까요?

if 문 속에 Cells(j, 6) = "중복"에 한번 엔터를 쳐서 줄바꿈을 한 다음

Sheets("명단2020년").Select

Cells(i, 6) = "중복"

2줄을 넣어주면 됩니다.

​

위 스크립트는 2중 루핑(looping)을 도는 구조입니다.

파란색 네모칸은 명단2020년을 루핑하게 하고

빨간색 네모칸은 명단2019년을 루핑하게 합니다.

​

엑셀 파일을 보면서 직접 타이핑하면서 익혀 놓으세요. 두말할 필요없이 많이 사용하는 개념입니다.

​

왕초보용_매크로(VBA)_2.xlsm (파일 다운로드 클릭하세요)​

​

우리가 다 알고 있지만, 실제로 이름은 위 사례처럼 딱 3자리로 구성되지도 않았고, 공백이 있는 경우도 있고, 띄어쓰기도 틀립니다. 심지어 괄호 속에 특징을 적어 놓기도 합니다.

그리고 전화번호는 앞에 0이 없는 것, 010/1234/4567로 구분한 것, 어떤 경우는 010 1234 5678로 만든 것 등등 데이터가 비교할 수 없도록 된 경우가 빈번합니다.

​

이경우 중복명단을 찾아낼 수 없기에 데이터를 일원화를 하고 상호 비교 작업을 하게 됩니다.

그것을 배워보도록 하겠습니다.

​

​

사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )

  1. 엑셀 프로그램 요청하기(무료 또는 책 구입 후원)

    Date2021.06.07 Category프로그램 By지천명영어 Reply8 Views9645 file
    read more
  2. 왕 초보용 엑셀 매크로(VBA) 배우기 - 1 (가장 중요한 3가지 기억하기)

    Date2021.06.05 Category프로그램 By지천명영어 Reply5 Views54156 file
    read more
  3. 왕 초보용 엑셀 매크로(VBA) 배우기 - 13 (문자 + 숫자 정렬)

    Date2022.01.12 Category초보용 By지천명영어 Reply2 Views5205 file
    Read More
  4. 왕 초보용 엑셀 매크로(VBA) 배우기 - 12 (공백 행 일괄 삭제하기)

    Date2022.01.12 Category초보용 By지천명영어 Reply0 Views4831 file
    Read More
  5. 왕 초보용 엑셀 매크로(VBA) 배우기 - 11 (매일 10페이지 책읽기 프로그램 6/6)

    Date2022.01.12 Category초보용 By지천명영어 Reply1 Views4278 file
    Read More
  6. 왕 초보용 엑셀 매크로(VBA) 배우기 - 10 (매일 10페이지 책읽기 프로그램 5/6)

    Date2022.01.12 Category초보용 By지천명영어 Reply0 Views3347 file
    Read More
  7. 왕 초보용 엑셀 매크로(VBA) 배우기 - 9 (매일 10페이지 책읽기 프로그램 4/6)

    Date2022.01.12 Category초보용 By지천명영어 Reply0 Views3323 file
    Read More
  8. 왕 초보용 엑셀 매크로(VBA) 배우기 - 8 (매일 10페이지 책읽기 프로그램 3/6)

    Date2022.01.12 Category초보용 By지천명영어 Reply0 Views3286 file
    Read More
  9. 왕 초보용 엑셀 매크로(VBA) 배우기 - 7 (매일 10페이지 책읽기 프로그램 2/6)

    Date2022.01.12 Category초보용 By지천명영어 Reply0 Views3601 file
    Read More
  10. 왕 초보용 엑셀 매크로(VBA) 배우기 - 6 (매일 10페이지 책읽기 프로그램 1/6)

    Date2022.01.12 Category초보용 By지천명영어 Reply1 Views4793 file
    Read More
  11. 왕 초보용 엑셀 매크로(VBA) 배우기 - 5 (중복 행 찾기 4/4)

    Date2022.01.12 Category초보용 By지천명영어 Reply2 Views4682 file
    Read More
  12. 왕 초보용 엑셀 매크로(VBA) 배우기 - 4 (중복 행 찾기 3/4)

    Date2022.01.12 Category초보용 By지천명영어 Reply0 Views4113 file
    Read More
  13. 왕 초보용 엑셀 매크로(VBA) 배우기 - 3 (중복 행 찾기 2/4)

    Date2022.01.12 Category초보용 By지천명영어 Reply0 Views4873 file
    Read More
  14. 왕 초보용 엑셀 매크로(VBA) 배우기 - 2 (중복 행 찾기 1/4)

    Date2022.01.12 Category초보용 By지천명영어 Reply0 Views8386 file
    Read More
Board Pagination Prev 1 Next
/ 1

LOGIN

SEARCH

MENU NAVIGATION