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

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

같은 카테고리의 다른 글
엑셀 / 피벗 테이블 / 여러 범위로 다중 피벗 테이블 만드는 방법

엑셀 / 피벗 테이블 / 여러 범위로 다중 피벗 테이블 만드는 방법

피벗 테이블은 보통 하나의 범위 또는 표로 만듭니다. 따라서 여러 개의 범위 또는 표로 피벗 테이블을 만들기 위해서는 하나로 합치는 과정을 거치는데, 그 과정이 번거롭다면 여러 범위(다중 통합 범위)로 피벗 테이블을 만들 수도 있습니다. 어떤 방식이 편한지는 데이터에 따라 다르겠죠. 피벗 테이블/피벗 차트 마법사 메뉴 추가 다중 통합 범위 피벗 테이블을 만들기 ...

엑셀 / 함수 / MEDIAN / 중앙값(중간값) 구하는 함수

엑셀 / 함수 / MEDIAN / 중앙값(중간값) 구하는 함수

개요 MEDIAN 함수는 수의 집합에서 수를 크기순으로 나열했을 때 정가운데에 있는 수를 구하는 함수입니다. 그 수를 중앙값 또는 중간값이라 합니다. 구문 MEDIAN(number1, , ...) number1은 필수 요소이고, 이후의 number는 선택 요소입니다. 1개에서 255개까지 사용할 수 있습니다. 수의 개수가 홀수일 때는 크기순으로 나열했을 때 정가운데의 수를 반환합니다. 예를 들어 MEDIAN(3,4,5,6,6) 은 5입니다. 수의 개수가 짝수일 때는 크기순으로 나열했을 때 가운데에 있는 ...

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

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

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

엑셀 / 여러 워크시트 한 화면에서 동시에 보기

엑셀 / 여러 워크시트 한 화면에서 동시에 보기

여러 워크시트 동시 작업 여러 워크시트에서 동시에 작업할 때가 있습니다. A 시트에서는 데이터를 관리하고, B 시트에서는 그 데이터를 분석하고... 작업을 하면서 여러 시트를 왔다갔다 하는 게 많이 불편합니다. 그럴 땐 한 화면에서 여러 시트를 한 번에 볼 수 있게 만들면 좋습니다. 시트간 이동도 편하고, 한 눈에 모든 걸 볼 수 있는 것도 ...

엑셀 / @ 입력 시 이메일 링크로 바뀌지 않게 하는 방법

엑셀 / @ 입력 시 이메일 링크로 바뀌지 않게 하는 방법

엑셀의 셀에 @를 포함한 문자열을 입력하고 엔터를 누르면... 링크로 바뀝니다. 아웃룩 같은 이메일 클라이언트를 여는 링크인데요... 진짜로 이메일 주소라면 유용한 기능일 수 있는데, 문제는 글자 모양도 바뀐다는 거에요. 모양을 다시 조정해야 하는 불편이 있어요. 만약 이 기능이 필요 없다면 옵션에서 끌 수 있어요.

엑셀 / 빈 셀, 빈 셀이 있는 행, 빈 셀이 있는 열 삭제하는 방법

엑셀 / 빈 셀, 빈 셀이 있는 행, 빈 셀이 있는 열 삭제하는 방법

빈 셀 또는 빈 셀을 포함한 행 또는 빈 셀을 포함한 열이 필요 없는 자료여서 삭제를 해야 할 때, 일일이 찾아서 삭제하는 것은 번거롭습니다. 자료가 많다면 시간도 많이 걸리고 실수할 가능성도 커집니다. 다행히 엑셀에는 그러한 작업을 쉽게 할 수 있는 기능을 포함하고 있습니다. 빈 셀 선택하기 빈 셀을 찾을 범위를 정합니다. 정하지 않아도 빈 ...

엑셀 / 피벗 테이블 / 외부 파일 시트의 데이터로 피벗 테이블 만드는 방법

엑셀 / 피벗 테이블 / 외부 파일 시트의 데이터로 피벗 테이블 만드는 방법

엑셀의 피벗 테이블은 데이터 분석을 위한 유용한 기능입니다. 피벗 테이블은 보통 같은 파일 내에서 같은 시트 또는 다른 시트에 만들게 되는데, 다른 파일에 있는 데이터로 피벗 테이블을 만들 수도 있습니다. 어떻게 만드는지 그 방법을 알아보겠습니다. 예제 파일 다음과 같은 내용의 Excel_1 파일이 있습니다. 데이터는 표로 지정되었습니다. 이를 Excel_2 파일에 피벗 테이블을 만들 ...

엑셀 / 함수 / IRR / 내부수익률 계산하는 함수

엑셀 / 함수 / IRR / 내부수익률 계산하는 함수

개요 IRR 함수는 주기적인 현금 흐름에 대한 내부수익률(internal rate of return)을 반환하는 함수입니다. 구문 IRR(values, ) values 필수 요소로, 셀에 대한 참조 또는 배열입니다. 양수 값과 음수 값이 각각 한 개 이상씩 포함되어야 합니다. 텍스트, 논리값 또는 빈 셀은 무시됩니다. guess 선택 요소로, IRR 계산에 처음 사용할 값입니다. guess에서 시작하여 결과가 0.00001% 이내의 오차 범위에 들어올 때까지 반복합니다. guess를 생략하면 0.1(10%)로 간주합니다. 20번 이상 반복한 후에도 ...

엑셀 / 통합 문서 모든 시트 대상으로 검색하는 방법

엑셀 / 통합 문서 모든 시트 대상으로 검색하는 방법

기본 검색 대상 엑셀은 찾기 기능이 있습니다. Ctrl+F로 찾기 창을 연 후 검색어를 입력하고 검색하면 됩니다. 검색을 하면 그 대상이 필요한데, 기본 설정은 현재 워크시트입니다. 현재 워크시트에 검색어가 있으면 그 위치로 이동하고, 없다면 찾을 수 없다고 알려줍니다. 다른 워크시트에 그 검색어가 있어도 검색 대상이 현재 워크시트이므로 없다고 나옵니다. 모든 워크시트를 대상으로 검색하기 검색 대상을 변경해서 ...

엑셀 / 산술평균, 기하평균, 조화평균 구하는 방법

엑셀 / 산술평균, 기하평균, 조화평균 구하는 방법

엑셀로 산술평균, 기하평균, 조화평균을 구할 수 있습니다. 사용하는 함수는 다음과 같습니다. 산술평균 : AVERAGE 기하평균 : GEOMEAN 조화평균 : HARMEAN 아래는 각각의 평균을 구하는 간단한 예제입니다. 아래는 위 예제에 대한 수식입니다.