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

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

같은 카테고리의 다른 글
엑셀 / 숫자를 문자(텍스트)로 변경하는 방법 3가지

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

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

엑셀 / 삼각함수(사인, 코사인, 탄젠트 등)의 값 계산하기

엑셀 / 삼각함수(사인, 코사인, 탄젠트 등)의 값 계산하기

개요 삼각함수에는 사인 함수, 코사인 함수, 탄젠트 함수, 코시컨트 함수, 시컨트 함수, 코탄젠트 함수가 있습니다. 엑셀에서 각 함수의 값을 구할 수 있는데, 함수 이름이 삼각함수의 표기법과 같습니다. 예를 들어 사인은 sin으로 나타내는데, 사인 값을 구하는 엑셀 함수도 SIN입니다. 구문 사인 함수 SIN(number) 코사인 함수 COS(number) 탄젠트 함수 TAN(number) 코시컨트 함수 CSC(number) 시컨트 함수 SEC(number) 코탄젠트 함수 COT(number) 각도의 단위 number에는 각도를 입력하는데, 단위는 라디안입니다. 45도에 대한 ...

엑셀 / 함수 / 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입니다. 단어의 첫째 문자가 영문자가 아닌 경우, 영문자가 아닌 문자 다음에 오는 영문자를 대문자로 ...

엑셀 / 함수 / RADIANS, DEGREES / 도를 라디안으로, 라디안을 도로 변환하는 함수

엑셀 / 함수 / RADIANS, DEGREES / 도를 라디안으로, 라디안을 도로 변환하는 함수

개요 RADIANS는 도를 라디안으로, DEGREES는 라디안을 도로 변환하는 함수입니다. 구문 RADIANS(angle) angle : 필수 요소입니다. 변환할 도 단위의 각도를 입력합니다. DEGREES(angle) angle : 필수 요소입니다. 변환할 라디안 단위의 각도를 입력합니다. 파이는 PI() 함수를 이용합니다. 예제

엑셀 / 함수 / REPLACE, REPLACEB / 특정 위치의 문자열을 바꾸는 함수

엑셀 / 함수 / REPLACE, REPLACEB / 특정 위치의 문자열을 바꾸는 함수

개요 REPLACE와 REPLACEB는 특정 위치의 문자열을 다른 문자열로 바꾸는 함수입니다.  특정 위치를 찾을 때 REPLACE 함수는 글자 수를 기준으로 하고, REPLACEB 함수는 바이트를 기준으로 합니다. 따라서 한 글자를 2바이트로 계산하는 한국어, 일본어, 중국어에서 차이가 납니다. 구문 REPLACE REPLACE(old_text, start_num, num_chars, new_text) old_text : 필수 요소로, 문자를 바꿀 문자열입니다. start_num : 필수 요소로, old_text에서 new_text로 바꿀 문자의 위치입니다. num_chars : 필수 요소로, old_text에서 사라질 문자의 ...

엑셀 / 월별 합계 구하는 방법 두 가지

엑셀 / 월별 합계 구하는 방법 두 가지

다음과 같이 날짜별 제품 판매 데이터가 있습니다. 이 자료를 가지고 월별 판매액 합계를 구하는 방법 두 가지를 소개해드립니다. 방법 1 MONTH 함수로 날짜에서 월을 뽑아냅니다. SUMIF 함수로 월별 금액의 합계를 구합니다. 의미 없는 F열을 추가해야 한다는 단점이 있습니다. 방법 2 날짜에서 월을 뽑아, 해당 월의 금액 합계를 구합니다. =SUM((MONTH($A$2:$A$10)=G2)*$E$2:$E$10) 수식이 약간 복잡해지지만, 월별 합계를 구하기 위한 열을 추가할 ...

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

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

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

엑셀 / 틀 고정 하는 방법, 틀 고정 취소하는 방법

엑셀 / 틀 고정 하는 방법, 틀 고정 취소하는 방법

틀 고정 엑셀에 데이터를 입력할 때 보통 표 형태로 넣습니다. 첫 행에 제목을 넣고 밑으로 주욱 입력하거나, 첫 열에 제목을 넣고 오른쪽으로 주욱 입력을 하죠. 자료가 많다면 입력한 내용이 한 화면에 다 나오지 않습니다. 그 보이지 않는 부분을 볼려면 아래로 또는 오른쪽으로 스크롤해야 하는데, 그럴 경우 제목 행 또는 제목 열이 안보여서 ...

엑셀 / 순열의 수, 중복순열의 수, 조합의 수, 중복조합의 수 계산하기

엑셀 / 순열의 수, 중복순열의 수, 조합의 수, 중복조합의 수 계산하기

경우의 수 구하는 함수 엑셀로 순열의 수, 중복순열의 수, 조합의 수, 중복조합의 수를 계산할 수 있습니다. 순열의 수는 PERMUT 함수로, 중복순열의 수는 PERMUTATIONA 함수로, 조합의 수는 COMBIN 함수로, 중복조합의 수는 COMBINA 함수로 구합니다. 구문 PERMUT(number, number_chosen) PERMUTATIONA(number, number_chosen) COMBIN(number, number_chosen) COMBIN(number, number_chosen) number : 필수 요소로, 항목 수입니다. number_chosen : 필수 요소로, 각 경우의 수에 포함되는 항목 수입니다. 순열의 수, 중복순열의 ...

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

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

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