엑셀 / 여러 시트 합치는 방법

동일한 형식에 내용만 다른 여러 시트를 가진 엑셀 문서를 만드는 경우가 있습니다. 예를 들어 지점별로 시트를 만들어 상품 재고 현황을 기록할 수 있겠죠. 이때 시트를 옮겨다니면서 각 지점의 데이터를 볼 수도 있지만, 모든 재고 현황을 합하여 전체 재고를 파악하기도 할 겁니다.

그렇다면 어떻게 여러 시트의 데이터를 하나의 시트로 합칠 수 있을까요?

일단은 복사 붙여넣기로 합하는 게 떠오를텐데, 당연히 가능한 방법입니다. 하지만 지점이 수십 개라면 얘기가 달라지죠. 단순한 작업에 시간을 많이 투자하게 됩니다. 여러 시트의 데이터를 하나의 시트에 합치는 일을 자주 한다면 VBA를 이용하세요. 만드는 건 귀찮지만, 많은 시간을 절약할 수 있습니다.

예를 들어 다음과 같은 엑셀 문서가 있다고 합시다. 첫 번째 시트는 합쳐진 데이터가 모일 시트이고, 세 개의 데이터가 있는 시트가 있습니다.

[개발 도구]의 [Visual Basic]을 클릭합니다. 만약 개발 도구 메뉴가 없다면 여기의 안내대로 개발 도구를 추가하세요.

[삽입]의 [모듈]을 클릭합니다.

다음과 같이 코드를 만들 겁니다.

아래의 코드를 복사하여 붙여넣으면 됩니다.

다음의 순서로 작업하는 코드입니다.

  1. 첫 번째 시트를 선택하고 내용을 지운다.
  2. 두 번째 시트의 내용을 복사하여 첫 번째 시트에 붙여넣는다.
  3. 나머지 시트의 내용을 복사하여 첫 번째 시트에 붙여넣는다.

두 번째 시트에 대한 코드와 나머지 시트에 대한 코드가 다른 이유는 머리글 때문입니다.

이제 [개발 도구]의 [매크로]를 클릭합니다. 단축키는 Alt+F8입니다.

Merge를 선택하고 [실행]을 클릭합니다.

다음처럼 첫 번째 시트에 데이터가 다 모입니다.