엑셀 / VBA / 여러 시트의 내용을 하나의 시트에 모으는 방법

동일한 형식에 내용만 다른 여러 시트의 데이터를 하나로 합치는 방법을 알아본다.

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

[개발 도구]의 [Visual Basic]을 클릭한다.(만약 개발 도구 메뉴가 없다면 여기의 안내대로 개발 도구를 추가한다.)

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

다음과 같이 코드를 입력한다.

Sub Merge()

    Sheets(1).Activate '첫 번째 시트로 이동
    ActiveSheet.Range("A1").CurrentRegion.Select '값이 있는 셀 선택
    Selection.Delete '선택한 셀 삭제

    Sheets(2).Activate '두 번째 시트로 이동
    ActiveSheet.Range("A1").CurrentRegion.Select '값이 있는 셀 선택
    Selection.Copy Destination:=Sheets(1).Range("A1") '첫 번째 시트에 붙여넣기
    ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select '값이 있는 다음 행 첫 번째 셀 선택

    Dim I As Integer
    For I = 3 To 4
        Sheets(I).Activate 'I 번째 시트로 이동
        ActiveSheet.Range("A1").CurrentRegion.Select '값이 있는 셀 선택
        Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select '선택에서 1행 제외
        Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2) '첫 번째 시트에 붙여넣기
        ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select '값이 있는 다음 행 첫 번째 셀 선택
    Next
    
    Sheets(1).Activate '첫 번째 시트로 이동
    ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Select '값이 있는 다음 행 첫 번째 셀 선택
    
End Sub

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

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

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

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

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

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

같은 카테고리의 다른 글
엑셀 / 함수 / 함수 목록

엑셀 / 함수 / 함수 목록

함수 이름 유형 설명 ABS 수학 및 삼각법 숫자의 절댓값 반환 ACCRINT 재무 정기적으로 이자를 지급하는 유가 증권의 경과 이자를 반환 ACCRINTM 재무 만기에 이자를 지급하는 유가 증권의 경과 이자를 반환 ACOS 수학 및 삼각법 숫자의 아크코사인을 반환 ACOSH 수학 및 삼각법 숫자의 역 하이퍼볼릭 코사인을 반환 ACOT 수학 및 삼각법 아크코탄젠트 값을 반환 ACOTH 수학 및 삼각법 하이퍼볼릭 아크코탄젠트 값을 반환 AGGREGATE 수학 및 삼각법 목록 또는 데이터베이스에서 집계 값을 반환 ADDRESS 조회 및 참조 행과 열 번호를 ...

엑셀 / 메모 삽입하는 방법, 메모 삭제하는 방법, 메모 일괄 삭제하는 방법

엑셀 / 메모 삽입하는 방법, 메모 삭제하는 방법, 메모 일괄 삭제하는 방법

엑셀의 메모 기능을 이용하면 셀에 대한 설명을 남길 수 있습니다. 복잡한 계산을 했거나 공동 작업을 할 때 유용한 기능입니다. 어떻게 메모를 삽입하고 삭제할 수 있는지 알아보겠습니다. 메모 삽입하는 방법 메모를 삽입하고자 하는 셀에 마우스를 올리고 우클릭을 합니다. 팝업 메뉴에서 을 클릭합니다. 메모 삽입 단축키는 입니다. 포스트잇처럼 생긴 작은 창이 생기고, 그 ...

엑셀 / 함수 / IFERROR / 에러 메시지를 변경하는 함수

엑셀 / 함수 / IFERROR / 에러 메시지를 변경하는 함수

개요 엑셀에서 함수 사용 시 문제가 발생하면 에러 메시지가 나옵니다. 꼭 수정해야 하는 에러도 있지만, 어쩔 수 없이 생기는 에러도 있습니다. 만약 후자라면 IFERROR 함수로 에러 메시지를 다른 것으로 대체할 수 있습니다. 구문 IFERROR(value, value_if_error) value : 필수 요소입니다. 오류를 검사할 인수입니다. value_if_error : 필수 요소입니다. 수식이 오류로 평가되는 경우 반환할 값입니다. 예제 예를 들어 어떤 수를 ...

엑셀 / 셀 내용을 그림으로 복사하기

엑셀 / 셀 내용을 그림으로 복사하기

엑셀로 작업한 결과 또는 시트의 일부분을 그림으로 만들어야 하는 경우가 간혹 있습니다. 어떻게 이미지로 만들 수 있을까요?  가장 먼저 떠오르는 건 픽픽 같은 캡쳐 프로그램으로 캡쳐를 하는 것입니다. 문제는 별도의 프로그램을 설치해야 한다는 것이죠. 또 다른 방법은, 사실 가장 간편한 방법은 엑셀에 포함된 기능을 이용하는 것입니다. 따로 프로그램이 필요한 것도 ...

엑셀 / 로그 또는 상용로그의 값 구하기, 상용로그표 만들기

엑셀 / 로그 또는 상용로그의 값 구하기, 상용로그표 만들기

로그 또는 상용로그의 값 구하기 로그의 값을 구하는 함수는 LOG에요. 외우기 쉽게 이름을 만들었네요. LOG(number, ) number에는 진수, base에는 밑이 들어가요. 즉 LOG(8, 2) 는 log28을 뜻합니다. 만약 base가 생략되었다면 밑을 10으로 계산해요. 밑이 10인 로그를 상용로그라고 하는 거 기억하시죠? 상용로그의 값은 함수 LOG10을 사용해도 돼요. LOG10(number) 따라서 상용로그의 값을 구하는 방법은 세가지가 있습니다. LOG(100, 10) LOG(100) ​LOG10(100) 상용로그표 만들기 상용로그표를 만들어볼게요. 고등학교 때 수학 ...

엑셀 / 함수 / INT, TRUNC / 소수를 정수 만드는 함수

엑셀 / 함수 / INT, TRUNC / 소수를 정수 만드는 함수

개요 소수를 정수로 만드는 함수에는 INT 함수와 TRUNC 함수가 있습니다. 정수로 만든다는 점은 같지만, 정수로 만드는 방식에는 차이가 있으므로 사용에 주의를 해야 합니다. 차이점 1 INT 함수는 작거나 같은 정수로 만듭니다. 예를 들어 INT(2.6) 은 2.6보다 작은 정수인 2가 되고, INT(-2.6) 은 -2.6보다 작은 정수인 -3이 됩니다. TRUNC 함수는 소수점 아래의 수를 지워버립니다. 예를 들어 TRUNC(2.6) 은 소수점 아래의 수 6을 ...

엑셀 / 피벗 테이블 / 보고서 레이아웃

엑셀 / 피벗 테이블 / 보고서 레이아웃

피벗 테이블을 만들었을 때, 데이터 표시 방법이 마음에 들지 않을 수 있습니다. 접고 펴기가 가능한 그룹화된 모양인데, 경우에 따라서 일반적인 표 모양의 결과물이 필요할 수도 있죠. 만약 표시 형식을 바꾸고 싶다면 피벗 테이블의 레이아웃을 변경하면 됩니다. 아래와 같은 표로 여러 가지 레이아웃의 피벗 테이블을 만들어보겠습니다. 워크시트를 하나 추가하고, 을 클릭합니다. [외부 ...

엑셀 / 화면 확대, 축소 하는 방법

엑셀 / 화면 확대, 축소 하는 방법

화면 확대/축소 엑셀의 기본 글자 크기는 보통 11pt입니다. 대부분 그 크기에 익숙해져있지만, 좀 더 크게 또는 좀 더 작게 보는 게 편할 때가 있습니다. 글자 크기를 변경하는 방법도 있지만, 다른 사람과 자료를 공유해야 하거나, 프린터로 인쇄해야 하는 경우에는, 글자 크기는 그대로 둔 채 화면만 확대/축소하는 게 좋습니다. 화면을 확대/축소하는 방법 두 가지를 소개해드립니다. 방법 ...

엑셀 / VBA / 메뉴에 개발 도구 추가하는 방법

엑셀 / VBA / 메뉴에 개발 도구 추가하는 방법

엑셀에서 VBA, 매크로 작업을 할 때 메뉴에 개발 도구가 있는 것이 편합니다. 그런데, 기본 설정은 개발 도구 메뉴를 보이지 않는 거라, 메뉴에 추가하기 위해서는 옵션을 수정해야 합니다. 상단 왼쪽의 을 클릭합니다. 왼쪽 아래에 있는 을 클릭합니다. 을 클릭합니다. 을 클릭합니다. 이제 메뉴에 개발 도구가 보입니다. 메뉴 구성은 다음과 같습니다.

엑셀 / 함수 / CONCAT, CONCATENATE / 여러 텍스트를 하나로 합치는 함수

엑셀 / 함수 / CONCAT, CONCATENATE / 여러 텍스트를 하나로 합치는 함수

개요 CONCATENATE는 여러 문자열을 하나의 문자열로 합하는 함수입니다. Excel 2016, Excel Mobile 및 Excel Online에서는 이 함수가 CONCAT 함수로 대체되었습니다. 이전 버전과의 호환성을 위해 CONCATENATE 함수도 계속 제공되지만 CONCAT을 사용하는 것이 좋습니다. TEXTJOIN 함수를 이용하면 구분 기호 설정을 쉽게 할 수 있고, 빈 셀에 대한 처리 방법도 정할 수 있습니다. 구문 CONCAT(text1, , ...) text1 : 필수 ...