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

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

같은 카테고리의 다른 글
엑셀 / 인쇄 / 워크시트에서 선택한 영역만 인쇄하는 방법

엑셀 / 인쇄 / 워크시트에서 선택한 영역만 인쇄하는 방법

엑셀은 선택한 영역만 인쇄하는 기능을 갖고 있습니다. 일부분만 인쇄하기 위해서 새로 시트를 만들 필요가 없습니다. 인쇄하고 싶은 셀들을 선택합니다. Ctrl+P를 눌러서 인쇄 창을 엽니다. 그리고 를 선택합니다. 미리보기에서 어떻게 인쇄가 되는지 볼 수 있습니다. 설정을 마쳤으면 를 클릭하여 출력합니다.

엑셀 / 함수 / AVERAGE, AVERAGEIF, AVERAGEIFS / 산술평균 구하는 함수

엑셀 / 함수 / AVERAGE, AVERAGEIF, AVERAGEIFS / 산술평균 구하는 함수

개요 AVERAGE는 산술평균을 구하는 함수이다. 특정 조건에 맞는 값들의 산술평균을 구하고 싶다면 AVERAGEIF 또는 AVERAGEIFS 함수를 사용한다. AVERAGE 구문 AVERAGEA(value1, , ...) value1은 필수 요소이고, 이후의 value는 선택 요소이다. 평균을 구하려는 셀, 셀 범위 또는 값으로, 1개에서 255개까지 지정할 수 있다. 예제 예제 1 1, 2, 3의 산술평균을 구한다. 예제 2 1, 2의 산술평균을 구한다. 범위에 문자가 포함된 경우 무시한다. AVERAGEIF 구문 AVERAGEIF(range, criteria, ) range ...

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

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

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

엑셀 / 중복된 값 찾는 방법, 중복 항목 제거하는 방법

엑셀 / 중복된 값 찾는 방법, 중복 항목 제거하는 방법

엑셀로 자료를 취합하고 정리하다보면 중복된 값들이 생기기도 합니다. 그런 중복 항목을 찾기 위해 눈으로 검토할 필요는 없습니다. 엑셀에는 중복된 항목을 찾거나, 찾아서 제거하는 기능이 있기 때문입니다. 중복 값 찾기 중복 값을 찾을 열을 선택합니다. 을 클릭합니다. 을 클릭하면... 중복된 값이 강조됩니다. 조건부 서식에서 를 ...

엑셀 / ROUND - 반올림, ROUNDUP - 올림, ROUNDDOWN - 내림

엑셀 / ROUND - 반올림, ROUNDUP - 올림, ROUNDDOWN - 내림

개요 반올림은 ROUND 함수로, 올림은 ROUNDUP 함수로, 내림은 ROUNDDOWN 함수로 합니다. 구문 반올림 ROUND(number, num_digits) number 필수 요소입니다. 반올림할 숫자입니다. num_digits 필수 요소입니다. 반올림할 자릿수입니다. 예를 들어 =ROUND(1234.5678,2) 는 소수 셋째 자리에서 반올림하여 소수 둘째 자리까지 나타냅니다. =ROUND(1234.5678,0) 은 소수 첫째 자리에서 반올림하여 일의 자리까지 나타내고, =ROUND(1234.5678,-2) 는 십의 자리에서 반올림하여 백의 자리까지 나타냅니다. 올림 ROUNDUP(number, num_digits) number 필수 요소입니다. 올림할 숫자입니다. num_digits 필수 요소입니다. 올림할 자릿수입니다. 자릿수의 의미는 반올림과 같습니다. -2이면 소수 ...

엑셀 / 워크시트 이름 바꾸는 방법, 탭 색 변경하는 방법

엑셀 / 워크시트 이름 바꾸는 방법, 탭 색 변경하는 방법

워크시트 이름 바꾸는 방법 1 워크시트 탭을 더블 클릭합니다. 시트 이름 배경이 회색으로 바뀌면서 이름을 변경할 수 있습니다. 워크시트 이름 바꾸는 방법 2 워크시트 탭에 마우스를 올리고 우클릭을 합니다. 메뉴 중에서 를 클릭하면 이름을 변경할 수 있습니다. 워크시트 탭 색 변경하는 방법 탭을 이름이 아니라 색으로 구분할 수도 있습니다. 탭에 마우스를 올리고 우클릭합니다. 그리고 ...

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

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

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

엑셀 / VBA / 매크로 단축키 만들기, 매크로 실행 버튼 만들기

엑셀 / VBA / 매크로 단축키 만들기, 매크로 실행 버튼 만들기

매크로를 실행하는 기본적인 방법은 매크로 창을 열고, 매크로를 선택하고 실행 버튼을 클릭하는 것입니다. 만약 자주 사용하는 매크로가 있다면 단축키를 만들거나 매크로 실행 버튼을 눌러 시간을 단축할 수 있습니다. 매크로 단축키 만들기 를 클릭합니다. 단축키는 Alt+F8입니다. 매크로를 선택하고 을 클릭합니다. 단축키를 지정하고 을 클릭하면, 그 단축키로 매크로를 실행할 수 있습니다. 매크로 실행 버튼 만들기 ...

엑셀 / 함수 / MAX, MIN, MAXIFS, MINIFS / 최댓값, 최솟값 구하는 함수

엑셀 / 함수 / MAX, MIN, MAXIFS, MINIFS / 최댓값, 최솟값 구하는 함수

MAX, MIN 개요 MAX는 최댓값을 구하는 함수, MIN은 최솟값을 구하는 함수입니다. 구문 MAX(number1, , ...) ​MIN(number1, , ...) number1, number2, ... : number1은 필수 요소이고, 이후의 number는 선택 요소입니다. 함수를 입력하지 않고 의 오른쪽 끝에 있는 메뉴를 이용할 수도 있습니다. 예제 참고 k번째로 큰 값을 구하고 싶다면 LARGE 함수를 사용합니다. k번째로 작은 값을 구하고 싶다면 SMALL 함수를 사용합니다. 메뉴에는 최대값, 최소값이라고 되어 있지만, 표준말는 최댓값, ...

엑셀 / 숫자를 문자(텍스트)로 변경하는 방법 3가지

엑셀 / 숫자를 문자(텍스트)로 변경하는 방법 3가지

숫자이기는 하지만 데이터 형식이 숫자가 아니라 문자(텍스트)여야 하는 경우가 있다. 이미 숫자로 입력된 상태에서 텍스트로 형식을 변경하는 방법 세 가지를 소개한다. 대부분 방법 1로 해결이 되나, 문제가 있다면 방법 3을 사용한다. 방법 1 - 표시 형식 변경 다음과 같은 숫자 데이터가 있다면... 셀을 선택한 후 마우스 우클릭하고 을 클릭합니다. 표시 형식을 을 ...