엑셀 파일 합치기 프로그램 만들기 | 퀵 VBA 4강

예제파일E-Book 교재
첨부파일에 이상이 생겼을 경우, 1:1 문의하기로 연락주시면 신속히 해결해드리겠습니다. 

관련강의 살펴보기

엑셀 VBA 시트 합치기 시트 병합 프로그램 만들기 예제 Thmb
엑셀 VBA 시트 합치기 모듈 :: 시트 병합 매크로 총정리
예제파일 E-Book 교재 첨부파일에 이상이 생겼을 경우, 1:1 문의하기로 연락주시면 신속히 해결해드리겠습니다.  관련강의 살펴보기 관련 기초내용 포스트 | by 오빠두엑셀 1 ...
엑셀 VBA 파일 합치기 모듈 :: 엑셀 파일병합 프로그램
엑셀 VBA 파일 합치기 모듈 :: 엑셀 파일병합 프로그램
예제파일 E-Book 교재 첨부파일에 이상이 생겼을 경우, 1:1 문의하기로 연락주시면 신속히 해결해드리겠습니다.  관련강의 살펴보기 관련 기초내용 포스트 | by 오빠두엑셀 1 ...

관련 기초내용 포스트 | by 오빠두엑셀

엑셀 와일드카드 PNG
엑셀 와일드카드 사용법 (별표(*), 물음표(?) 등) – 엑셀 사전
요약 와일드카드는 불분명한 문자열을 임의의 문자열로 대체하여 검색하는데 도움을 기호입니다. 설명 엑셀 와일드카드는 검색하는 단어에 불확실한 문자열을 임의 문자열로 대체하여 ...
Application.ScreenUpdating 사용법
엑셀 VBA :: Application.ScreenUpdating 사용법 총정리 (매크로를 더욱 빠르게!)
예제파일 예제파일은 매크로가 포함되어 있습니다. 예제파일 실행 후 '컨텐츠 포함' 버튼을 클릭하여 매크로를 활성화합니다. 매크로를 활성화하는 방법은 '예제파일 매크로 활성화 ...

1. 사용자 정의 폼 추가하기

사용자가 원하는 파일을 선택할 수 있도록 사용자정의폼을 추가합니다. 예제파일을 다운받은 후 단축키 ALT + F11을 눌러 매크로편집기를 실행합니다.

상단의 [삽입] – [사용자 정의 폼]을 클릭하여 아래와 같이 사용자정의폼을 생성합니다.

속성창이 안 보일 경우, 키보드 F4키를 누르거나 또는 상단의 [보기] – [속성 창]을 선택합니다. 도구상자가 안 보일 경우, 상단의 [보기] – [도구상자]를 선택하면 도구상자 창이 나타납니다.

엑셀 파일 합치기 사용자 정의폼 만들기

사용자에게 파일 합치기를 안내할 사용자정의폼을 생성합니다.

2. 파일선택창 모듈 추가하기

매크로 편집창에서 [삽입] – [모듈]을 클릭하여 새로운 모듈을 생성합니다. 모듈의 이름은 'sub_FileSelection'으로 변경합니다.

엑셀 VBA 모듈 이름 변경

새로운 모듈을 삽입한 뒤, 모듈의 이름을 변경합니다.

이전 퀵 VBA 1강에서 다루었던 파일선택창 마스터코드를 복사하여 붙여넣기합니다. 파일선택창 마스터코드에 대한 자세한 내용은 관련 포스트를 참고하세요.

엑셀 파일선택창 총정리 강의
엑셀 VBA 파일선택창 매크로 사용법 총정리 :: 엑셀 자동화 기초
이번 강의에서는 엑셀 VBA 자동화 구축에 꼭 필요한 파일선택창 모듈에 대해 알아봅니다. 파일선택창을 활용하면 특정 확장자를 가진 파일만 사용자가 직접 ...

3. '병합할 파일 선택' 버튼 명령문 작성

유저폼에서 '병합할 파일 선택' 버튼을 더블클릭하여 클릭 이벤트 명령문을 작성합니다.

4. '선택된 파일 병합' 버튼 명령문 작성

유저폼에서 '선택된 파일 병합' 버튼을 더블클릭하여 클릭 이벤트 명령문을 작성합니다.

4-A. 변수설정

명령문에서 사용할 변수를 설정합니다. 이전 퀵VBA 3강, 시트합치기 명령문에서 사용했던 변수세트와 동일하게 변수를 생성합니다.

변수설정방법에 대한 자세한 내용은 기초강의에서 다룬 적이 있으니 관련 포스트를 참고하세요.

  • WB as Workbook : 병합할 엑셀파일입니다.
  • WS as Worksheet : 병합할 엑셀파일에 작성된 각각의 워크 시트입니다.
  • toWS as Worksheet : 각 WS의 내용을 취합할 활성화된 워크 시트입니다.
  • rng as Range : 각 WS에서 취합될 범위입니다.
  • i as Long : 리스트상자에 선택된 엑셀파일들의 순번입니다.
  • j as Long : 복사한 rng를 toWS에 붙여넣기 할 행 번호입니다.
  • endCol as Long : rng의 넓이를 계산하기 위한 마지막 열번호입니다.
  • endRow as Long : rng의 넓이를 계산하기 위한 마지막 행번호입니다.
  • strWS as String : 이전 시트합치기 명령문에서만 사용된 변수이므로 지워도 무방합니다.
엑셀 변수란 무엇인가 변수 종류 강의 썸네일
엑셀 VBA 변수 알아보기 :: 자주 사용하는 7가지 변수 총정리
| 엑셀 VBA 기초 강의 1-3 편 | 엑셀 VBA 변수란 무엇인가 자주사용하는 변수 7가지 한눈에 보기 | 실습파일 무료E-Book ...
4-B. 오류방지

유저폼의 리스트상자에 선택된 엑셀파일이 없이 '파일 병합' 버튼을 눌러 명령문을 실행할 경우, 참조할 파일주소가 없으므로 오류가 발생하게 됩니다. 따라서 리스트상자에 선택된 항목이 없을 경우 '파일을 선택하세요' 라는 안내 메시지를 띄워줍니다.

4-C. 리스트상자에 선택된 엑셀파일을 하나씩 실행/종료하기

파일 선택하기 명령문을 통해 리스트상자에 입력된 각각의 엑셀파일들을 실행하고 종료하는 명령문을 작성합니다.

4-D. 실행된 엑셀파일의 모든 워크시트의 이름 비교하기

실행된 엑셀파일의 모든 워크시트를 하나씩 돌아가며 이름을 비교합니다. IF함수와 LIKE 연산자를 이용하여 각 시트이름을 비교한 뒤, 만약 해당 워크시트의 이름이 우리가 원하는 조건을 만족할 경우 명령문을 실행하도록 코드를 작성합니다.

4-E. 선택된 시트 내용 합치기

이전 시트합치기 강의에서 사용했던 명령문을 그대로 사용하여 선택된 시트의 내용을 병합합니다.

4-F. 안내메세지 출력

파일 병합이 완료되었다는 안내메세지를 띄운 후, 사용자 정의폼을 닫아줍니다.

4-G. 스크린 업데이트 중단/활성화 (매크로 동작속도 개선)

더욱 빠른 매크로 동작을 원할경우, Application.ScreenUpdating 속성을 활성/비활성화 하여 매크로 동작속도를 개선할 수 있습니다.

4-H. 파일 병합하기 버튼에 사용된 전체 명령문

5. 유저폼 실행을 위한 단축키 생성

유저폼을 불러오기 위한 명령문을 작성합니다. 기존에 생성하였던 Module1 모듈에 아래의 명령문을 추가합니다.

다시 엑셀 시트로 돌아온 뒤, 상단의 [개발도구] – [매크로] 를 선택합니다. 상단의 [개발도구]가 안 보일경우, 개발도구 활성화 관련 포스트를 참고하세요.

엑셀 개발자툴 활성화 썸네일
엑셀 개발도구 (매크로) 활성화 방법 (이미지 첨부) – 엑셀 사전
실습파일 엑셀의 추가기능을 사용하기 위한 개발도구를 활성화하는 방법을 알아봅니다. 엑셀에는 다양한 추가기능이 있습니다. 대표적으로 매크로를 작성하기 위한 VBA 편집기의 실행 ...

[매크로]에서 우리가 방금 추가한 Merge_Workbook을 선택한 후, [옵션]을 클릭합니다.

엑셀 개발도구 매크로 옵션 변경

[개발도구] – [매크로] 를 클릭하여 방금 추가한 'Merge_Workbook'의 옵션을 선택합니다.

옵션에서 해당 매크로를 실행하기 위해 단축키를 Ctrl + Shift + B 키로 지정한 뒤 [확인] 버튼을 눌러 마무리합니다.

엑셀 매크로 단축키 설정

Merge_Workbook의 단축키를 Ctrl + Shift + B로 지정합니다.

6. 파일 합치기 매크로 작성 완료 및 테스트

축하합니다. 파일 합치기 매크로 작성이 완료되었습니다. 이제 단축키 Ctrl + Shift + B 키를 눌러 언제든 원하는 파일 및 그중에서도 원하는 시트만 선택하여 내용을 병합할 수 있습니다.

엑셀 파일 합치기 프로그램 완성

파일 합치기 프로그램 만들기가 완료되었습니다.

강의가 도움 되셨으면 좋아요와 댓글 부탁드려요! 여러분의 소중한 댓글은 강의제작에 큰 힘이 됩니다.
엑셀 공부는 오빠두엑셀과 함께하세요! #엑셀은오빠두

댓글 남기기

avatar
  현재 페이지 댓글알림 신청  
알림 설정