Note: The other languages of the website are Google-translated. Back to English
로그인  \/ 
x
or
x
회원가입  \/ 
x

or

Excel에서 여러 시트를 여러 번 복사하는 방법은 무엇입니까?

때로는 통합 문서에 지정된 워크 시트의 복사본을 하나 또는 여러 개 만들어야 할 수도 있습니다. 다음은 Excel에서 한 워크 시트 또는 여러 워크 시트를 여러 번 쉽게 복사하는 데 도움이되는 몇 가지 빠른 방법입니다.


이동 또는 복사 명령을 사용하여 여러 워크 시트의 복사본을 활성 통합 문서 또는 다른 통합 문서로 한 번 만듭니다.

와 더불어 이동 또는 복사 Excel에서 명령을 사용하면 한 번에 하나의 워크 시트 복사본, 여러 특정 워크 시트 또는 모든 워크 시트를 활성 통합 문서 또는 다른 통합 문서로 만들 수 있습니다.

1. 워크 시트를 복사 할 특정 통합 문서의 시트 탭 모음에서 여러 워크 시트를 선택합니다.
주의 사항: 홀딩 CTRL 키를 사용하면 시트 탭 막대에서 하나씩 클릭하여 인접하지 않은 여러 시트 탭을 선택할 수 있습니다. 보유 SHIFT 키를 사용하면 시트 탭 표시 줄에서 첫 번째 시트 탭과 마지막 탭을 클릭하여 인접한 여러 시트 탭을 선택할 수 있습니다.

2. 시트 탭 모음에서 선택한 시트 탭을 마우스 오른쪽 버튼으로 클릭하고 이동 또는 복사 상황에 맞는 메뉴에서. 스크린 샷보기 :
문서 복사 여러 시트 01

3. 에서 이동 또는 복사 대화 상자에서 다음 설정을 지정하십시오.
(1) 워크 시트를 복사 할 대상 워크 북을 지정하십시오. 예약하려면 드롭 다운 목록. 필요에 따라 활성 통합 문서, 열려있는 다른 통합 문서 또는 새 통합 문서를 선택할 수 있습니다.
(2) 시트 탭 바에서 복사 된 시트의 위치를 ​​지정하고, 기존 시트의 모든 뒤에서 선택할 수 있습니다.
(3) 확인 사본 만들기 이 옵션을 선택하지 않으면 선택한 워크 시트가 대상 통합 문서로 이동됩니다.
(4) OK 버튼을 클릭합니다.

이제 선택한 워크 시트를 지정된 통합 문서에 하나만 복사합니다. 이러한 워크 시트의 복사본을 여러 개 만들려면 작업을 여러 번 반복 할 수 있습니다.

몇 번의 클릭만으로 활성 통합 문서에서 여러 워크 시트의 여러 복사본을 만들 수 있습니다.

일반적으로 여러 워크 시트를 이동 또는 복사 Excel의 기능. 그러나이 기능은 한 번에 하나의 사본 만 만들 수 있습니다. 여기, Excel 용 Kutools를 사용하여 워크 시트 복사 유틸리티를 사용하면 몇 번의 클릭만으로 활성 통합 문서에서 필요한만큼 많은 워크 시트의 복사본을 쉽게 만들 수 있습니다. 30 일 전체 기능 무료 평가판!
광고 복사 여러 워크 시트 01

Excel 용 Kutools -300 개 이상의 Excel 용 편리한 도구가 포함되어 있습니다. 30 일 전체 기능 무료 평가판, 신용 카드 필요 없음! 이제 그것을 잡아

VBA 코드를 사용하여 하나의 지정된 워크 시트의 여러 복사본을 활성 통합 문서로 만듭니다.

지정된 워크 시트의 복사본을 10 개 만들려면 이동 또는 복사 명령은 시간이 많이 걸리는 방법이므로 작업을 여러 번 반복해야합니다. 그러나 다음 VBA 코드를 사용하면 워크 시트를 한 번에 10 번 빠르게 복사 할 수 있습니다.

1. 누르고 ALT + F11 키가 열립니다. 응용 프로그램 용 Microsoft Visual Basic 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여 넣습니다.

VBA : 특정 워크 시트의 여러 복사본을 활성 통합 문서로 만들기

Sub Copier ()
Dim x As Integer
x = InputBox("Enter number of times to copy Sheet1")
For numtimes = 1 To x
ActiveWorkbook.Sheets("Sheet1").Copy _
After:=ActiveWorkbook.Sheets("Sheet1")
Next
End Sub

주의 사항: 위 코드에서 "Sheet1"를 복사 할 시트의 이름으로 바꿉니다.

3. 그런 다음 F5 키를 눌러 코드를 실행하면 원하는 매수를 묻는 프롬프트 상자가 나타납니다.

4. 그런 다음 OK, 지정된 워크 시트가 활성 통합 문서에 100 번 복사되었습니다.


Excel 용 Kutools를 사용하여 여러 워크 시트의 여러 복사본을 활성 통합 문서로 만듭니다.

Excel에서 여러 워크 시트의 복사본을 만드는 것은 간단하지만 현재 통합 문서에서 여러 워크 시트의 복사본을 여러 개 만들려면 다음을 사용해야 할 수 있습니다. 이동 또는 복사 명령 항목을 몇 번이고. 한 번의 클릭으로 작업을 완료 하시겠습니까? 와 더불어 워크 시트 복사 타사 추가 기능의 유틸리티 Excel 용 Kutools, Excel에서 한 번의 클릭으로 여러 워크 시트의 여러 복사본을 만들 수 있습니다.

Excel 용 Kutools -300 개 이상의 Excel 용 편리한 도구가 포함되어 있습니다. 30 일 전체 기능 무료 평가판, 신용 카드 필요 없음! 이제 그것을 잡아

1. 딸깍 하는 소리 Kutools Plus > 워크 시트 복사. 스크린 샷보기 :

주의 사항: 클릭 Kutools Plus > 워크 시트 > 워크 시트 복사 이 기능도 제공됩니다.

2. 설정 적용 여러 워크 시트 복사 대화 상자 :
(1) 복사 할 워크 시트 확인 선택한 워크 시트 복사 안내
(2) 지정 사본 수.
(3) 복사 된 시트의 위치를 ​​결정합니다. 예를 들어, 모든 워크 시트의 앞이나 뒤, 현재 워크 시트의 앞이나 뒤에 있습니다.
(4) Ok 버튼을 클릭합니다.

3. 확인한 워크 시트가 필요에 따라 여러 번 복사되었음을 알리는 프롬프트 상자가 나타납니다. OK 버튼을 눌러 종료하십시오. 스크린 샷보기 :

여러 워크 시트 복사 특징 Excel 용 Kutools 몇 번의 클릭만으로 활성 통합 문서에 지정된 여러 워크 시트의 여러 복사본을 만듭니다. 무료 평가판을 받으십시오!


여러 통합 문서의 여러 워크 시트를 새 문서로 복사

Excel 용 Kutools가 설치되어있는 경우 워크 시트 결합 Excel에서만 몇 번의 클릭으로 여러 개의 닫힌 통합 문서의 여러 워크 시트를 새 통합 문서로 복사하는 기능입니다.

Excel 용 Kutools -300 개 이상의 Excel 용 편리한 도구가 포함되어 있습니다. 30 일 전체 기능 무료 평가판, 신용 카드 필요 없음! 이제 그것을 잡아

1. 딸깍 하는 소리 Kutools Plus > 결합 워크 시트 결합 기능을 활성화합니다.

2. 워크 시트 결합 – 1 단계 중 3 단계 마법사에서 통합 문서의 여러 워크 시트를 하나의 워크 시트로 결합 옵션을 클릭하고 다음 단추. 스크린 샷보기 :

3. 워크 시트 결합 – 2 단계 중 3 단계 마법사에서 다음 스크린 샷을 수행하십시오.
(1) 클릭 추가 > 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 or 폴더 워크 북을 추가하려면 워크 시트를 복사합니다.
(2) 통합 문서 목록 섹션에서 워크 시트를 복사 할 워크 북을 확인하십시오.
(3) 워크 시트 목록 섹션에서 복사 할 워크 시트를 확인하십시오.
(4) 위의 반복 (2) (3) 복사 할 다른 통합 문서에서 워크 시트를 선택합니다.
(5) 다음 버튼을 클릭합니다.

4. 워크 시트 결합 – 3 단계 중 3 단계 마법사에서 필요에 따라 복사 설정을 구성하고 버튼을 클릭합니다.

5. 이제 새 대화 상자에서 새 통합 문서를 저장할 대상 폴더를 지정하고 새 통합 문서의 이름을 파일 이름 상자를 클릭하고 찜하기 단추. 스크린 샷보기 :

이제 또 다른 두 개의 대화 상자가 나타나고 새 통합 문서를 열고 조합 시나리오를 저장하라는 메시지가 표시됩니다. 필요에 따라 버튼을 클릭하십시오. 지금까지 한 번에 여러 통합 문서에서 지정된 모든 워크 시트를 복사했습니다.

이와 함께 결합 (워크 시트) 유틸리티를 사용하면 다음 목록과 같이 워크 시트와 통합 문서를 쉽게 복사하고 결합 할 수 있습니다. 무료 평가판을 받으십시오!
(1) 통합 문서의 여러 워크 시트 / 범위를 하나의 워크 시트로 빠르게 결합합니다.
(2) 통합 문서에서 동일한 이름의 모든 워크 시트를 하나의 워크 시트로 빠르게 병합 / 결합합니다.
(3) 워크 시트 또는 워크 북을 하나의 워크 북으로 빠르게 병합 / 결합합니다.
(4) 여러 워크 시트의 데이터를 하나의 워크 시트로 빠르게 요약 / 계산합니다.


최고의 사무 생산성 도구

Excel 용 Kutools는 대부분의 문제를 해결하고 생산성을 80 % 향상시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300 개 이상의 강력한 기능. Office / Excel 2007-2019 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에 쉽게 배포 할 수 있습니다. 전체 기능 30 일 무료 평가판. 60 일 환불 보장.
kte 탭 201905

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50 % 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Tyler Dempsey · 3 years ago
    I am new to this I am just trying to make copies of the same sheet this is the code I am using.

    Sub Copier()
    Dim s As String
    Dim numtimes As Integer
    Dim numCopies As Integer
    numCopies = InputBox("How many copies do you need?")
    s = InputBox("Enter the name of the Worksheet you want to copy")
    For numtimes = 1 To numCopies
    ActiveWorkbook.Sheets(s).Copy _
    After:=ActiveWorkbook.Sheets(Worksheets.Cou nt)
    Next
    End Sub

    when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _
    After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.
    • To post as a guest, your comment is unpublished.
      Jorge · 1 years ago
      Working Code

      Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy After:=ActiveWorkbook.Sheets(Worksheets.Count)
      Next
      End Sub

      copy the entire line from ActiveWorkbook.Sheets...... that was the problem, and some spaces

      Have a great day
    • To post as a guest, your comment is unpublished.
      Schuyler · 3 years ago
      [quote name="Tyler Dempsey"]I am new to this I am just trying to make copies of the same sheet this is the code I am using.

      Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Cou nt)
      Next
      End Sub

      when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.[/quote]


      Here is the exact code you want to use:


      Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Count)
      Next
      End Sub
      • To post as a guest, your comment is unpublished.
        Belva · 2 months ago
        Thank you, the last one saved my life :)
    • To post as a guest, your comment is unpublished.
      Schuyler · 3 years ago
      [quote name="Tyler Dempsey"]I am new to this I am just trying to make copies of the same sheet this is the code I am using.

      Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Cou nt)
      Next
      End Sub

      when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.[/quote]


      Double check your code and make sure you don't have a space at ActiveWorkbook. Sheets(s).Copy _ or at Sheets(Worksheets.Cou nt)
  • To post as a guest, your comment is unpublished.
    Simon · 4 years ago
    Fantastic VBA code - really helped
  • To post as a guest, your comment is unpublished.
    Barry · 4 years ago
    When I first tried it, I got the error message because I didn't change the name Sheet1. After I realized what caused the error, I researched a little further, as I did not want to be manually entering the sheet name into the macro. And when I need this feature, it is almost always for the current sheet.

    I added the line a = activesheet.name
    And revised the line after:=activeworkbook.sheets("sheet1") to activeworkbook.sheets(a).copy _

    That worked very well, but I did notice the numbering was reversed ... that didn't bother me as I was going to manually rename the new sheets anyway.

    When I saw Schuyler's post, I further revised the line activeworkbook.sheets(a).copy _ to after:=activeworkbook.sheets(worksheets.count)

    I am now satisfied with the result. My finished macro:

    Sub copies()
    Dim x As Integer
    x = InputBox("Enter number of times to copy Sheet1")
    For numtimes = 1 To x
    ActiveWorkbook.Sheets("Sheet1").Copy _
    After:=ActiveWorkbook.Sheets(Worksheets.Count)
    Next
    End Sub

    ---
    All the best, Barry
    • To post as a guest, your comment is unpublished.
      MJ · 2 years ago
      i got syntax error on "After:=ActiveWorkbook.Sheets(Worksheets.Count)


      but i dunno whats wrong... Can u help me please?
    • To post as a guest, your comment is unpublished.
      Kate · 3 years ago
      Thank you so much Barry. Your finished macro is the only thing that worked for me.
  • To post as a guest, your comment is unpublished.
    stalag 17 · 4 years ago
    where i will insert this above code in vba should i create common button then inside ?? regards.
    • To post as a guest, your comment is unpublished.
      Adi · 3 years ago
      Follow the below steps:
      1. Copy the above code
      2. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
      2. Click Insert > Module, and paste the following code in the Module Window.
      4.Then press F5 key to run the code
      5.A prompt box appears to ask you the number of sheet copies you want.
  • To post as a guest, your comment is unpublished.
    Susan · 5 years ago
    I get an error that 'numtimes' is not defined...?
  • To post as a guest, your comment is unpublished.
    Debbi · 5 years ago
    I got the same error as Theou and no one seems to have addressed it. My tabs are already named PO 51, PO 52, etc. and I replaced Sheet1 with PO 51 to copy that and got the subscript error out of range (9)

    I followed Schuyler's code to get the right order, but I still get the error and it's always due to these two lines:

    ActiveWorkbook.Sheets(s).Copy _
    Before:=ActiveWorkbook.Sheets(Worksheets.Count)
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      [quote name="Debbi"]I got the same error as Theou and no one seems to have addressed it. My tabs are already named PO 51, PO 52, etc. and I replaced Sheet1 with PO 51 to copy that and got the subscript error out of range (9)

      I followed Schuyler's code to get the right order, but I still get the error and it's always due to these two lines:

      ActiveWorkbook.Sheets(s).Copy _
      Before:=ActiveWorkbook.Sheets(Worksheets.Count)[/quote]

      Can you include your complete code to make it easier to debug? A "subscript error out of range" usually means that the code references something that doesn't exist. I find this in my own code when I've got a typo or something of that nature.
  • To post as a guest, your comment is unpublished.
    Roy · 5 years ago
    how to copy with same column widths
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      Same column widths as the original Worksheet or do you want all of the column widths to be the same?
  • To post as a guest, your comment is unpublished.
    sadaqat · 5 years ago
    yes it works thanks I have successfully make multiple copies of a single worksheet in same workbook by using vba code thnx a lot.
  • To post as a guest, your comment is unpublished.
    Gopal Krishan · 5 years ago
    Search for word "After" and change it to "Before". This will create copies in right order "Before" Sheet1. The only thing to rememeber is that numbering will always start from (2) as the original sheet will always be counted as 1st copy. Also you can replace "Sheet1" with name of the tab you are trying to copy.
  • To post as a guest, your comment is unpublished.
    juan · 6 years ago
    [quote name="MichaelTadashi"]Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?[/quote]

    Anyone was able to answer this question? I need to create 72 copies, but it would be needed to have them in order (1 throught 72, intead of 72 through 1)

    Thanks!
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      [quote name="juan"][quote name="MichaelTadashi"]Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?[/quote]

      Anyone was able to answer this question? I need to create 72 copies, but it would be needed to have them in order (1 throught 72, intead of 72 through 1)

      Thanks![/quote]

      If you want the sheet copies to be in sequential order instead of backwards, change the following line...

      [i]After:=ActiveWorkbook.Sheets[/i][u]("Sheet1")[/u]

      to this...

      [i]After:=ActiveWorkbook.Sheets[/i][u](Worksheets.Count)[/u]

      My completed code looked like the following which uses 2 InputBox prompts to allow for a dynamic copy count and worksheet name..


      [i]Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Count)
      Next
      End Sub[/i]
      • To post as a guest, your comment is unpublished.
        Karsten · 4 years ago
        How do i get the coppies continuous numbered. If the sheet i want to copy is named I002, and i want the next to be named I003,I004,I005 an so on.
  • To post as a guest, your comment is unpublished.
    Lim · 6 years ago
    Wow, thanks for the VBA code. It really helps a lot!
  • To post as a guest, your comment is unpublished.
    Dee · 6 years ago
    thanks, the vba code was huge
  • To post as a guest, your comment is unpublished.
    Theou Aegis · 6 years ago
    I tried the VBA code and got subscript out of range error (9). I replaced the sheet name with anything I could think of that was in the workbook already. Any idea what I did wrong?

    Also, is there a way to make it name each sheet incrementally? This would tie in with Michael's question, I'm sure. I'm guessing the answer to his question would be you'd need to set the After target to "sheet"+x somehow and that in turn would apply to my question if there was a way to specify what to name the new sheet. I could always just change my boss' "master" to "Aug 0" or whatever month it is, but it'd be easier for her to understand if the script did the naming automatically.
  • To post as a guest, your comment is unpublished.
    MichaelTadashi · 7 years ago
    Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?