엑셀 / 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를 선택하고 [실행]을 클릭한다.

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

같은 카테고리의 다른 글
엑셀 / 함수 / ISEVEN, ISODD / 짝수인지 홀수인지 확인하는 함수

엑셀 / 함수 / ISEVEN, ISODD / 짝수인지 홀수인지 확인하는 함수

개요 ISEVEN과 ISODD 함수는 인수가 짝수인지 홀수인지 확인하는 함수입니다. 구문 ISEVEN(number) number가 짝수면 TRUE, 홀수면 FALSE를 반환합니다. 0은 짝수로 취급하고, 소숫점 이하는 버립니다. ISODD(number) number가 홀수면 TRUE, 짝수면 FALSE를 반환합니다. 소숫점 이하는 버립니다. 예제 엑셀 / EVEN, ODD - 짝수 또는 홀수로 올림 또는 내림하는 함수

엑셀 / 가로 방향으로 정렬하는 방법

엑셀 / 가로 방향으로 정렬하는 방법

엑셀에서 정렬할 때 대부분 세로 방향으로 정렬합니다. 데이터를 세로 방향으로 정리하는 경우가 많기 때문입니다. 엑셀의 기본 정렬 방향도 위에서 아래로 향하는 세로 방향입니다. 그런데 항상 그런 건 아닙니다. 경우에 따라서 데이터를 가로 방향으로 정리하기도 있습니다. 그렇다면 정렬을 할 때에도 가로 방향으로 해야겠죠? 어떻게 해야 가로 방향 정렬을 할 수 있을까요? 해결책은 옵션에 ...

엑셀 / 한영 자동 전환 해제하는 방법

엑셀 / 한영 자동 전환 해제하는 방법

엑셀에서 Rkakrnl를 입력하면 까마귀로 바뀝니다. 한글로 입력해야 할 것을 실수로 영어로 입력했을 거라 판단하여 한글로 변경해주는 기능입니다. 만약 이 기능이 불편하다면 옵션에서 비활성화할 수 있습니다.

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

개요 UPPER, LOWER, PROPER는 대문자 또는 소문자 변환과 관련된 함수입니다. UPPER : 모두 대문자(upper case)로 바꿉니다. LOWER : 모두 소문자(lower case)로 바꿉니다. PROPER : 단어의 첫글자는 대문자로, 나머지는 소문자로 바꿉니다. 구문 UPPER(text) LOWER(text) PROPER(text) text : 필수 요소로, 대문자로 또는 소문자로 변환할 텍스트입니다. PROPER 함수 단어의 첫째 문자를 대문자로 변환하고, 나머지 문자들은 소문자로 변환합니다. 예를 들어 PROPER("abCdE") 는 Abcde입니다. 단어의 첫째 문자가 영문자가 아닌 경우, 영문자가 아닌 문자 다음에 오는 영문자를 대문자로 ...

엑셀 / 리본 메뉴 숨기기, 탭만 표시하기

엑셀 / 리본 메뉴 숨기기, 탭만 표시하기

탭과 리본 메뉴 엑셀을 실행시키면 상단에 여러 메뉴들이 있습니다. 제일 위에 있는 파일, 홈, 삽입 등을 탭이라 하고, 탭 밑에 있는 것을 리본 메뉴라고 합니다. 아래 스크린샷에서 빨간 박스 부분이 리본 메뉴입니다. 리본 메뉴가 상당히 두꺼워서 노트북 같이 화면이 작은 기기에서 작업할 때 불편할 수 있습니다. 그럴 땐 필요할 때만 리본 메뉴가 ...

엑셀 / 기호, 특수 문자 입력하는 방법

엑셀 / 기호, 특수 문자 입력하는 방법

엑셀에 기호 또는 특수 문자를 입력하는 방법은 두 가지가 있습니다. 삽입 - 메뉴 상단에서 를 클릭합니다. 글꼴을 바꾸가면서 필요한 기호를 찾습니다. 기호를 선택한 후 을 클릭하면 기호가 셀에 삽입됩니다. 자음 + 한자 ㄱ, ㄴ 등 자음을 입력하고 한자 키를 누릅니다. 그러면 특수 문자가 나옵니다. 화살표를 클릭하면 입력할 수 있는 기호를 ...

엑셀 / 함수 / ISBLANK / 빈 셀인지 확인하는 함수

엑셀 / 함수 / ISBLANK / 빈 셀인지 확인하는 함수

개요 ISBLANK는 셀이 비어있는지 확인하는 함수입니다. 셀이 비어있다면 TRUE, 셀이 비어있지 않다면 FALSE를 반환합니다. 예제 1 예를 들어 ISBLANK(A2) 는 A2 셀이 비어있다면 TRUE, 비어있지 않다면 FALSE를 반환합니다. IF 함수와 결합하여 비어있을 때와 비었지 않을 때 서로 다른 작업을 할 수 있습니다. 예를 들어 IF(ISBLANK(A2),"B","NB") 는 A2 셀이 비어있다면 B를, 비어있지 않다면 NB를 출력합니다. 예제 2 수량과 단가를 곱하여 금액을 ...

엑셀 / 피벗 테이블 / 만드는 방법

엑셀 / 피벗 테이블 / 만드는 방법

자료 분석을 위해서 필터를 하거나 새롭게 수식을 만드는 것은 번거로운 일입니다. 피벗 테이블을 이용하면 다양한 형식의 분석 결과를 쉽게 만들 수 있습니다. 피벗 테이블을 만드는 방법은... 방법 1 분석하려는 자료를 선택한 다음, 을 클릭합니다. 만약 자료가 표라면 자동으로 표가 선택됩니다. 을 클릭하면... 새 워크시트에 피벗 테이블이 만들어집니다. 자료가 표가 아닌 경우 셀들을 선택해서 ...

엑셀 / 시트의 눈금선 없애는 방법

엑셀 / 시트의 눈금선 없애는 방법

눈금선 엑셀의 시트에는 선이 있어요. 모니터에만 나오고 인쇄할 때는 나오지 않는 선이에요. 이 선을 눈금선이라고 합니다. 눈금선이 있는 이유는 셀의 위치를 파악하기 쉽게 하려는 거에요. 눈금선 없이 한동안 써봤는데 꽤 불편하더군요. 눈금선이 있는 게 좋아요. 그런데, 눈금선이 있는 게 더 불편한 경우가 있어요. 바로 모양을 꾸밀 때에요. 인쇄용 보고서를 만들기 위해 선을 그리고 ...

엑셀 / 메모 인쇄하는 방법

엑셀 / 메모 인쇄하는 방법

셀에 넣은 메모를 인쇄하는 방법은 두 가지가 있다. 하나는 화면에 보이는대로 인쇄하는 것이고, 다른 하나는 마지막 페이지에 모아서 인쇄하는 것이다. 만약 화면에 보이는대로 인쇄하고 싶다면, 메모가 있는 셀을 선택하고 마우스 우클릭한 후... 를 클릭하여 메모를 표시한다. 마지막 페이지에 모아서 출력할 때는 필요 없는 과정이다. 인쇄(Ctrl+P)에서 을 클릭하고... 탭을 선택한 후, [주석 ...