엑셀로 작업 할 때 다른 파일의 시트들을 불러와 합쳐서 작업해야 할 때 시트를 복사 / 이동하는 방법과 한꺼번에 파일 전체 시트를 불러와 합쳐주는 매크로 함수 입니다.
복사 해야 할 시트가 많지 않은 경우
1. 이동 / 복사 할 대상 엑셀 파일을 열어 둔 다음 아래와 같이 시트 탭에서 우측 버튼을 누르고,
2. 이동 / 복사 메뉴에서 현재 시트들을 이동 시킬 대상 파일을 선택 한 다음,
3. 시트 들이 복사 / 이동 했을 때의 위치를 정해준 후 복사본 만들기를 체크 해 주고 확인 버튼을 누르면 선택한 엑셀 파일로 선택 한 시트 들이 복사됩니다.
복사 해야 할 시트가 많을 때
시트가 많아 일일이 복사하기가 번거로울 때 한번에 시트들을 불러와 합쳐주는 매크로 함수입니다.(시트 병합, 시트 머지)
[ 매크로 저장, 사용 방법 ]
1. 아래 스크립트 글 상자의 내용 전체를 드래그 하여 선택 한 다음 컨트롤(Ctrl) + C 키를 눌러 스크립트를 클립보드에 복사 해줍니다.
Sub mergeWs()
Application.ScreenUpdating = False
Dim thisWorkbook As Workbook, targetWorkbook As Workbook
Dim sh As Worksheet
Dim directory As String
Set thisWorkbook = ActiveWorkbook
directory = CreateObject("WScript.Shell").SpecialFolders("Desktop") & Application.PathSeparator
'sample.xlsx 파일의 위치는 바탕화면
Set closedBook = Workbooks.Open(directory & "sample.xlsx")
For Each sh In closedBook.Sheets
sh.Copy after:=thisWorkbook.Sheets(thisWorkbook.Sheets.Count)
Next sh
closedBook.Close SaveChanges:=False
Application.ScreenUpdating = True
End Sub
2. 엑셀 파일을 열고, 알트(Alt) + F11키를 눌러 비주얼 베이직 창을 열어 준 다음, 아래와 같이 'VBAProject 문서명'을 마우스로 우측 클릭 한 후 삽입 > 모듈을 차례로 클릭합니다.
3. 가운데 나타나는 코드 에디터 창을 클릭하고, 컨트롤(Ctrl) + V를 눌러 복사 해뒀던 매크로를 붙여넣기 해줍니다.
4. 에디터 상단 도구 메뉴 위의 실행 버튼 [ ▶ ]을 누르거나 F5 키를 눌러 mergeWs() 함수를 실행시키면, 매크로에 정의된 대로 '바탕화면에서' Sample.xls' 파일의 전체 시트 들을 현재 시트의 뒤에 빠짐없이 복사' 해줍니다.
5. 알트(Alt) + Q를 눌러 워크시트 화면으로 돌아와서 시트탭 부분을 보면 'Sample.xls' 파일의 시트들이 전부 들어와 있을 것을 확인 할 수 있을 것입니다.
'엑셀' 카테고리의 다른 글
근무일자 자동 계산 수식 (토요일, 일요일, 공휴일) 휴무 포함 계산 가능 (0) | 2021.05.22 |
---|---|
엑셀 시트 한번에 여러개 신규, 복사 해서 만드는 매크로( 신규 생성, 복사 생성) (1) | 2021.05.22 |
엑셀 에서 현재 열을 맨 마지막 열에 복사 하는 매크로 (0) | 2021.05.22 |
엑셀 전체 글에서 특정 단어, 글자, 숫자를 한 번에 바꾸고, 지우는 방법 (0) | 2021.05.22 |
주민번호에서 생년월일을 추출 할 때 유용한 엑셀 함수 두 가지 (0) | 2021.05.22 |