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

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

같은 카테고리의 다른 글
엑셀 / 리본 메뉴 숨기기, 탭만 표시하기

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

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

엑셀 / 함수 / COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS

엑셀 / 함수 / COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS

개요 셀 개수를 세는 함수에는 COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS가 있다. COUNT는 숫자가 있는 셀의 개수, COUNTA는 비어 있지 않은 셀의 개수, COUNTBLANK는 비어 있는 셀의 개수, COUNTIF는 조건에 맞는 셀의 개수, COUNTIFS는 여러 조건에 맞는 셀의 개수를 반환한다. 구문 COUNT COUNT(value1, , ...) 숫자가 있는 셀의 개수를 반환한다. 비어 있거나 문자가 있는 셀은 세지 않는다. COUNTA COUNTA(value1, , ...

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

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

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

엑셀 / 하이퍼링크 제거하는 방법, 자동 하이퍼링크 안 생기게 하는 방법

엑셀 / 하이퍼링크 제거하는 방법, 자동 하이퍼링크 안 생기게 하는 방법

자동 하이퍼링크 엑셀에 값을 입력할 때, 그 값이 URL이라면 자동으로 하이퍼링크가 생깁니다. 그리고 글자 모양과 크기는 기본 글자 모양으로 바뀝니다. 아래가 그 예입니다. 글자 모양은 나눔명조, 글자 크기는 10인 상태에서 네이버 URL을 입력했습니다. URL에는 링크가 만들어지고, 글자 모양은 맑은 고딕, 글자 크기는 11로 바뀌었습니다. 하이퍼링크의 기본 기능이 그 주소로 이동하는 것이므로, URL에 자동으로 ...

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

행, 열, 셀 엑셀은 표 형태로 되어 있어요. 가로를 행이라 하고, 세로를 열이라 하고, 각 칸을 셀이라 합니다. 행은 숫자로 구분하고, 열은 문자로 구분해요. 셀은 열과 행의 이름을 합하여 나타냅니다. 예를 들어 D3는 D열과 3행이 만나는 셀을 의미합니다. 사용할 수 있는 행과 열의 개수는 정해져있어요. 꽤 많긴 하지만 무한대로 있지는 않아요. 최대 몇 ...

엑셀 / 셀 안에서 강제 줄바꿈하는 방법

엑셀 / 셀 안에서 강제 줄바꿈하는 방법

셀 안에서 줄바꿈을 하고 싶다면 Alt + Enter를 누릅니다. 줄바꿈한 내용을 수식입력줄에서 보고 싶다면, 오른쪽 끝에 있는 아이콘을 클릭합니다.

엑셀 / 함수 / DAYS / 두 날짜 사이의 일수를 계산하는 함수

엑셀 / 함수 / DAYS / 두 날짜 사이의 일수를 계산하는 함수

개요 DAYS 함수는 두 날짜 사이의 일수를 반환하는 함수입니다. 구문 DAYS(end_date, start_date) end_date : 필수 요소로, 끝나는 날짜입니다. start_date : 필수 요소로, 시작하는 날짜입니다. 끝나는 날짜를 앞에, 시작하는 날짜를 뒤에 입력한다는 것에 주의합니다. 끝나는 날짜가 시작하는 날짜보다 이전이면 음수를 반환합니다. 예제 2018년 1월 1일부터 2018년 1월 15일까지의 일수를 계산하는 예제입니다. 만약 수식에 날짜를 직접 입력하고 싶다면 날짜를 따옴표로 감쌉니다. =DAYS("2018-01-15","2018-01-01")

엑셀 / 함수 / DELTA / 두 숫자가 같은지 비교하는 함수

엑셀 / 함수 / DELTA / 두 숫자가 같은지 비교하는 함수

개요 DELTA는 두 수가 같은지 비교하는 함수입니다. 구문 DELTA(number1, ) number1 : 필수 요소로, 숫자입니다. number2 : 선택 요소로, 숫자입니다. 두 수가 같으면 1을, 다르면 0을 반환합니다. 두 번째 인수를 생략하면 0으로 간주합니다. 예를 들어 DELTA(0)은 1이고, DELTA(1)은 0입니다. 참조하는 셀이 비어있으면 0으로 간주합니다. 인수에 숫자가 아닌 값이 있으면 #VALUE! 오류 값이 반환됩니다. 예제 두 문자열이 같은지 비교하는 함수는 EXACT입니다.

엑셀 / 차트를 이미지 파일로 저장하는 방법

엑셀 / 차트를 이미지 파일로 저장하는 방법

엑셀에서 데이터를 일목요연하게 보여주기 위해 차트를 사용합니다. 차트를 엑셀 내에서 또는 워드, 파워포인트 등 MS OFFICE 프로그램에서 사용할 때는 다른 형식으로 변환할 필요가 없습니다. 하지만 그 외 다른 프로그램에서 사용할 때는 이미지로 변환해야 하는 경우가 발생합니다. 엑셀에서 만든 차트를 그림 파일로 변환하는 방법을 알아보겠습니다. 차트 복사 간단한 차트를 만들어보았습니다. 차트를 선택하고 마우스 우클릭하여 복사합니다. 파워포인트에 ...

엑셀 / 암호 설정하는 방법, 암호 해제하는 방법

엑셀 / 암호 설정하는 방법, 암호 해제하는 방법

암호 종류 엑셀에는 두 가지 암호가 있어요. 하나는 열기 암호, 또 하나는 쓰기 암호입니다. 둘 중 하나만 설정해도 되고, 둘 다 설정해도 돼요. 열기 암호를 설정하면 문서를 열 때 암호가 필요합니다. 암호를 모르면 문서 내용을 볼 수 없어요. 쓰기 암호를 설정하면 문서를 수정할 때 암호가 필요합니다. 암호를 몰라도 문서의 내용은 볼 수 있어요. 열기 암호와 ...