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. คลิกขวาที่แท็บแผ่นงานที่เลือกบนแถบแท็บแผ่นงานแล้วเลือก ย้ายหรือคัดลอก จากเมนูบริบท ดูภาพหน้าจอ:
doc คัดลอกหลายแผ่น 01

3. ใน ย้ายหรือคัดลอก โปรดระบุการตั้งค่าต่อไปนี้:
(1) โปรดระบุสมุดงานปลายทางที่คุณจะคัดลอกแผ่นงานจากไฟล์ หนังสือ รายการแบบเลื่อนลง คุณสามารถเลือกสมุดงานที่ใช้งานอยู่สมุดงานอื่นที่เปิดอยู่หรือสมุดงานใหม่ได้ตามที่คุณต้องการ
(2) ระบุตำแหน่งของแผ่นงานที่คัดลอกบนแถบแท็บแผ่นงานคุณสามารถเลือกหลังจากแผ่นงานที่มีอยู่ทั้งหมด
(3) ตรวจสอบ สร้างสำเนา หากคุณไม่เลือกตัวเลือกนี้แผ่นงานที่เลือกจะถูกย้ายไปยังสมุดงานปลายทาง
(4) คลิกไฟล์ OK ปุ่ม

ตอนนี้จะทำสำเนาแผ่นงานที่เลือกลงในสมุดงานที่ระบุเพียงชุดเดียว หากต้องการทำสำเนาแผ่นงานเหล่านี้หลายชุดคุณสามารถดำเนินการซ้ำได้หลายครั้ง

คลิกเพียงไม่กี่ครั้งเพื่อสร้างสำเนาหลายแผ่นในสมุดงานที่ใช้งานอยู่

โดยทั่วไปเราสามารถคัดลอกแผ่นงานหลายแผ่นด้วยไฟล์ ย้ายหรือคัดลอก คุณลักษณะใน Excel อย่างไรก็ตามคุณลักษณะนี้สามารถสร้างสำเนาได้ครั้งละหนึ่งชุดเท่านั้น ที่นี่ด้วย Kutools for Excel's คัดลอกแผ่นงาน ยูทิลิตี้คุณสามารถทำสำเนาแผ่นงานได้มากเท่าที่คุณต้องการในสมุดงานที่ใช้งานอยู่โดยคลิกเพียงไม่กี่ครั้งเท่านั้น คุณสมบัติเต็มทดลองใช้ฟรี 30 วัน!
ad copy หลายแผ่นงาน 01

Kutools สำหรับ Excel - รวมเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ทดลองใช้ฟรี 30 วันเต็มไม่ต้องใช้บัตรเครดิต! Get It Now

ทำสำเนาหลายแผ่นของแผ่นงานที่ระบุไว้ในสมุดงานที่ใช้งานอยู่ด้วยรหัส 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 ครั้งในสมุดงานที่ใช้งานอยู่


ทำสำเนาแผ่นงานหลายแผ่นลงในสมุดงานที่ใช้งานอยู่ด้วย Kutools for Excel

แม้ว่าการทำสำเนาแผ่นงานหลายแผ่นใน Excel จะทำได้ง่าย แต่หากคุณต้องการทำสำเนาแผ่นงานหลายแผ่นในสมุดงานปัจจุบันคุณอาจต้องใช้ ย้ายหรือคัดลอก รายการคำสั่งซ้ำแล้วซ้ำอีก ต้องการที่จะทำงานให้เสร็จในคลิกเดียวหรือไม่? กับ คัดลอกแผ่นงาน ยูทิลิตี้ของ Add-in ของบุคคลที่สาม Kutools สำหรับ Excelคุณสามารถทำสำเนาแผ่นงานหลายชุดได้ในคลิกเดียวใน Excel

Kutools สำหรับ Excel - รวมเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ทดลองใช้ฟรี 30 วันเต็มไม่ต้องใช้บัตรเครดิต! Get It Now

1. คลิก Kutools Plus > คัดลอกแผ่นงาน. ดูภาพหน้าจอ:

หมายเหตุ: คลิก Kutools Plus > แผ่นงาน > คัดลอกแผ่นงาน จะได้รับคุณสมบัตินี้ด้วย

2. ใช้การตั้งค่าในไฟล์ คัดลอกแผ่นงานหลายแผ่น กล่องโต้ตอบ:
(1) ตรวจสอบแผ่นงานที่คุณต้องการคัดลอก คัดลอกแผ่นงานที่เลือก มาตรา.
(2) ระบุ จำนวนสำเนา.
(3) กำหนดตำแหน่งของแผ่นงานที่คัดลอกตัวอย่างเช่นก่อนหรือหลังแผ่นงานทั้งหมดก่อนหรือหลังแผ่นงานปัจจุบัน
(4) คลิกไฟล์ Ok ปุ่ม

3. กล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนคุณว่ามีการคัดลอกแผ่นงานที่เลือกไว้หลายครั้งตามที่คุณต้องการโปรดคลิก OK ปุ่มเพื่อออก ดูภาพหน้าจอ:

คัดลอกแผ่นงานหลายแผ่น คุณลักษณะของ Kutools สำหรับ Excel จะทำสำเนาแผ่นงานที่ระบุไว้หลายชุดในสมุดงานที่ใช้งานอยู่ด้วยการคลิกหลายครั้งเท่านั้น ทดลองใช้ฟรี!


ทำสำเนาแผ่นงานหลายแผ่นจากสมุดงานหลายชุดให้เป็นแผ่นงานใหม่

หากคุณติดตั้ง Kutools for Excel ไว้คุณสามารถใช้ไฟล์ รวมแผ่นงาน คุณลักษณะในการทำสำเนาแผ่นงานหลายแผ่นจากสมุดงานที่ปิดหลายเล่มลงในสมุดงานใหม่ด้วยการคลิกหลายครั้งใน Excel เท่านั้น

Kutools สำหรับ Excel - รวมเครื่องมือที่มีประโยชน์มากกว่า 300 รายการสำหรับ Excel ทดลองใช้ฟรี 30 วันเต็มไม่ต้องใช้บัตรเครดิต! Get It Now

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) สรุป / คำนวณข้อมูลจากแผ่นงานหลายแผ่นเป็นแผ่นงานเดียว


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • Super Formula Bar (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 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?