본문 바로가기

엑셀 매크로 활용 시트 한 번에 여러 장 복사하기

초보초보 블로거 발행일 : 2024-05-01

엑셀매크로활용시트한번에여러장복사하기
엑셀매크로활용시트한번에여러장복사하기

엑셀에서 작업을 수행할 때 여러 개의 시트를 복사해야 하는 상황이 자주 생깁니다. 개별적으로 복사하는 것은 시간이 많이 걸리고 지루할 수 있지만, 매크로를 사용하면 한 번에 여러 시트를 빠르고 쉽게 복사하여 작업 효율성을 향상시킬 수 있습니다. 이 블로그 글에서는 엑셀 매크로 활용하여 시트 여러 장을 동시에 복사하는 방법을 단계별로 안내합니다.



엑셀 매크로 활용 시트 한 번에 여러 장 복사하기

🌈 아래의 목차로 당신이 찾는 정보로 쉽게 이동해보세요
매크로를 사용하여 여러 시트 복사 자동화
VBA 코드를 활용한 다중 시트 복사 솔루션
하나의 수식을 사용하여 모든 선택한 시트 복사
워크북의 특정 시트만 선택적으로 복사
사용자에게 복사할 시트 선택을 허용하는 인터랙티브 매크로




매크로를 사용하여 여러 시트 복사 자동화
매크로를 사용하여 여러 시트 복사 자동화

Excel 작업에서 여러 시트를 복사하는 작업이 자주 반복되는 경우 매크로를 사용하면 이 과정을 크게 자동화할 수 있습니다. 매크로는 일련의 명령을 저장하여 재사용 가능한 프로그램으로, 사용자가 수행하는 번거로운 작업을 자동 수행하도록 설정할 수 있습니다. 이 기사에서는 VBA(Visual Basic for Applications) 매크로를 사용하여 Excel에서 한 번에 여러 시트를 복사하는 방법에 대해 자세히 알아봅니다.

매크로를 활용하면 복사 작업을 간소화하고 수동 오류를 줄입니다. 예를 들어, 대규모 스프레드시트에서 수십 개의 시트를 다른 통합 문서로 복사해야 하는 경우 매크로는 각 시트를 수동으로 복사하고 붙여넣는 시간과 노고를 크게 절약할 수 있습니다. 또한 매크로에는 매개변수를 설정하여 시트 복사 프로세스를 사용자 정의하고 특정 요구 사항에 맞게 조절할 수 있습니다.


VBA 코드를 활용한 다중 시트 복사 솔루션
VBA 코드를 활용한 다중 시트 복사 솔루션

다중 시트를 복사하는 것은 VBA 코드를 사용하면 간단하게 자동화할 수 있습니다. 다음 표에서는 일반적인 코드 블록과 함께 해당 키워드를 설명합니다.
VBA 키워드 설명
For Each 루프 시작
Worksheets("SheetName") 특정 시트 선택
Copy 시트 복사
After 복사된 시트를 붙여넣기 위치 지정 (기존 시트 After 또는 Before)
Sheets(1) 첫 번째 시트 (기본적으로 원본 시트)






하나의 수식을 사용하여 모든 선택한 시트 복사
하나의 수식을 사용하여 모든 선택한 시트 복사

질문: 한 번에 여러 시트를 복사하려면 어떻게 하나요?

답변: VBA를 사용하여 하나의 수식으로 모든 선택한 시트를 간단히 복사할 수 있습니다.

질문: 사용할 코드는 무엇인가요?

답변: 다음 코드를 VBA 편집기에 붙여 넣으세요.

```vba Sub CopyAllSelectedSheets() Dim ws As Worksheet

' 선택된 시트 목록을 가져옴
Dim SelectedSheets As Variant
SelectedSheets = Application.Selection.Sheets

' 새로운 통합 문서 생성
Dim NewWorkbook As Workbook
Set NewWorkbook = Workbooks.Add

' 선택한 모든 시트를 복사함
For Each ws In SelectedSheets
    ws.Copy Before:=NewWorkbook.Sheets(1)
Next ws

' 통합 문서 보이기
NewWorkbook.Visible = True

End Sub ```

질문: 코드를 실행하려면 어떻게 해야 하나요?

답변: Alt + F11을 눌러 VBA 편집기를 열고 코드를 붙여 넣으세요. 그런 다음 F5를 눌러 매크로를 실행하세요. 선택한 모든 시트가 새 통합 문서로 복사됩니다.







워크북의 특정 시트만 선택적으로 복사
워크북의 특정 시트만 선택적으로 복사

특정 시트만 복사해야 하는 경우 다음 단계에 따라 진행하세요.

  1. 복사할 시트 선택: 목표 워크북에서 복사할 시트를 마우스로 선택합니다.
  2. 시트 탭 오른쪽 클릭: 선택한 시트의 탭을 오른쪽 클릭합니다.
  3. 이동 또는 복사 선택: 컨텍스트 메뉴에서 "이동 또는 복사"를 선택합니다.
  4. 이동 대화 상자 열기: "워크북 이동 또는 복사" 대화 상자가 표시됩니다.
  5. 대상 워크북 선택: 이전 섹션에서 설명한 것처럼 대상 워크북을 선택합니다.
  6. 위치 선택: 대상 워크북의 특정 위치(시트 앞 또는 뒤)를 선택합니다.
  7. 옵션 선택: 필요에 따라 시트 목록을 표시하고 숨기거나 행 높이와 열 폭기를 복사할지 여부를 선택합니다.
  8. 복사 완료: "확인"을 클릭하여 선택한 시트를 대상 워크북에 복사합니다.






사용자에게 복사할 시트 선택을 허용하는 인터랙티브 매크로
사용자에게 복사할 시트 선택을 허용하는 인터랙티브 매크로

"복사하려는 시트를 선택하는 인터랙티브 매크로를 사용하면 사용자는 매크로를 실행할 때 시트를 선택할 수 있습니다." - 마이크로소프트 엑셀 공식 블로그

이러한 유형의 매크로를 사용하면 사용자는 여러 시트를 선택하여 한 번에 쉽게 복사할 수 있습니다. 이렇게 하려면 다음과 같은 옵션 메뉴를 포함한 코드를 사용할 수 있습니다.

``` Sub CopyMultipleSheetsInteractive()

Dim strCopyChoice As String
Dim oSourceSheets As Variant
Dim oTargetSheet As Variant
Dim oTargetWorkbook As Variant
Dim strTargetWorksheet As String

'복사할 시트 선택
strCopyChoice = InputBox("복사할 시트를 선택하세요 (쉼표로 구분):")

'시트 객체로 변환
oSourceSheets = Split(strCopyChoice, ",")

'대상 워크시트 선택
Set oTargetSheet = Application.InputBox("시트를 복사할 대상 워크시트를 선택하세요:", "대상 워크시트 선택", , , , , 8)

'대상 워크북 선택
Set oTargetWorkbook = Application.InputBox("시트를 복사할 대상 워크북을 선택하세요:", "대상 워크북 선택", , , , , 8)

'대상 워크시트 이름 추출
strTargetWorksheet = oTargetSheet.Name

'시트 복사
For Each oSourceSheet In oSourceSheets
    oSourceSheet.Copy After:=oTargetWorkbook.Worksheets(strTargetWorksheet)
Next oSourceSheet

MsgBox "선택한 시트가 " & oTargetWorkbook.Name & " 워크북의 " & strTargetWorksheet & " 워크시트에 복사되었습니다."

End Sub ```


요약을 통해 더 넓은 세계로의 초대장 💌



엑셀 매크로를 활용하면 한 번에 여러 장의 워크시트를 복사하는 단순 작업이 아니라 작업 과정을 크게 능률화할 수 있는 강력한 도구가 될 수 있습니다. 몇 줄의 코드만으로도 수 시간의 수작업을 절약하고 정확성을 향상시킬 수 있습니다.

복잡한 작업이든 반복적인 작업이든, 엑셀에서 매크로를 활용하는 방법을 익히는 것은 귀중한 기술 투자입니다. 이렇게 하면 보다 효율적으로 작업하고 시간과 노력을 절약할 수 있습니다.

따라서 엑셀 매크로를 활용하여 워크시트 여러 장을 동시에 복사하는 기능을 사용해보십시오. 귀하의 작업이 얼마나 쉬워지고 효율이 향상되었는지 곧 알게 될 것입니다! 행복한 매크로 활용을 기원합니다.

댓글