Note: The other languages of the website are Google-translated. Back to English
English English

วิธีการคัดลอกแผ่นงานหลาย ๆ ครั้งใน 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 พลัส > คัดลอกแผ่นงาน. ดูภาพหน้าจอ:

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

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

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

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


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

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

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

1. คลิก Kutools พลัส > รวมกัน เพื่อเปิดใช้งานคุณสมบัติรวมแผ่นงาน

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 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
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (25)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
การใช้รหัส VBA การตั้งชื่อแผ่นงานที่ซ้ำกันจะอยู่ในลำดับที่กลับกัน สมมติว่าฉันสร้าง Sheet10 1 สำเนา ฉันจะลงเอยด้วย Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......เป็นไปได้ไหมที่จะจัดเรียงตามลำดับปกติ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันลองใช้รหัส VBA และได้รับข้อผิดพลาดนอกช่วง (9) ฉันแทนที่ชื่อแผ่นงานด้วยทุกอย่างที่นึกได้ว่ามีอยู่ในสมุดงานแล้ว มีความคิดว่าฉันทำอะไรผิด? มีวิธีทำให้ชื่อแต่ละแผ่นเพิ่มขึ้นหรือไม่? สิ่งนี้จะเชื่อมโยงกับคำถามของไมเคิล ฉันแน่ใจ ฉันเดาว่าคำตอบสำหรับคำถามของเขาคือคุณจะต้องตั้งค่าเป้าหมาย After เป็น "ชีต"+x อย่างใด และในทางกลับกันก็จะนำไปใช้กับคำถามของฉันหากมีวิธีระบุว่าจะตั้งชื่อชีตใหม่ว่าอะไร ฉันสามารถเปลี่ยน "เจ้านาย" ของเจ้านายของฉันเป็น "0 ส.ค." หรือทุกเดือนได้เสมอ แต่มันจะง่ายกว่าสำหรับเธอที่จะเข้าใจว่าสคริปต์ทำการตั้งชื่อโดยอัตโนมัติหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณ รหัส vba นั้นใหญ่มาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ว้าว ขอบคุณสำหรับรหัส VBA มันช่วยได้มากจริงๆ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote]การใช้รหัส VBA การตั้งชื่อเวิร์กชีตที่ซ้ำกันจะอยู่ในลำดับที่กลับกัน สมมติว่าฉันสร้าง Sheet10 1 สำเนา ฉันจะลงเอยด้วย Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......เป็นไปได้ไหมที่จะจัดเรียงตามลำดับปกติโดย MichaelTadashi[/quote] ใครก็ได้ช่วยตอบคำถามนี้ที ฉันต้องสร้าง 72 สำเนา แต่จำเป็นต้องมีตามลำดับ (1 ถึง 72 แทนที่จะเป็น 72 ถึง 1) ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote][quote]การใช้รหัส VBA การตั้งชื่อเวิร์กชีตที่ซ้ำกันจะอยู่ในลำดับที่กลับกัน สมมติว่าฉันสร้าง Sheet10 1 สำเนา ฉันจะลงเอยด้วย Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......เป็นไปได้ไหมที่จะจัดเรียงตามลำดับปกติโดย juan[/quote] ใครก็ได้ช่วยตอบคำถามนี้ที ฉันต้องสร้าง 72 สำเนา แต่จำเป็นต้องมีตามลำดับ (1 ถึง 72 แทนที่จะเป็น 72 ถึง 1) ขอบคุณ!โดย MichaelTadashi[/quote]e] หากคุณต้องการให้แผ่นงานทำสำเนาตามลำดับแทนที่จะย้อนกลับ ให้เปลี่ยนบรรทัดต่อไปนี้... หลัง:=ActiveWorkbook.Sheets("แผ่นที่ 1") สำหรับสิ่งนี้... หลัง:=ActiveWorkbook.Sheets(ใบงาน.นับ) รหัสที่สมบูรณ์ของฉันมีลักษณะดังต่อไปนี้ซึ่งใช้ 2 InputBox พร้อมท์เพื่ออนุญาตการนับสำเนาแบบไดนามิกและชื่อเวิร์กชีต .. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("คุณต้องการสำเนากี่ชุด") s = InputBox("ป้อนชื่อของแผ่นงานที่คุณต้องการคัดลอก") สำหรับ numtimes = 1 ถึง numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันจะได้หมายเลขต่อเนื่องของ coppies ได้อย่างไร หากแผ่นงานที่ฉันต้องการคัดลอกชื่อ I002 และฉันต้องการให้แผ่นถัดไปมีชื่อว่า I003,I004,I005 เป็นต้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ค้นหาคำว่า "หลัง" และเปลี่ยนเป็น "ก่อนหน้า" สิ่งนี้จะสร้างสำเนาในลำดับที่ถูกต้อง "ก่อน" ชีต1 สิ่งเดียวที่ต้องจำก็คือการนับจะเริ่มต้นจาก (2) เนื่องจากแผ่นงานต้นฉบับจะถูกนับเป็นสำเนาแรกเสมอ นอกจากนี้ คุณสามารถแทนที่ "Sheet1" ด้วยชื่อของแท็บที่คุณพยายามจะคัดลอก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ใช่ มันใช้งานได้ ขอบคุณ ฉันทำสำเนาแผ่นงานเดียวได้สำเร็จหลายชุดในสมุดงานเดียวกันโดยใช้รหัส vba ขอบคุณมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
วิธีการคัดลอกด้วยความกว้างคอลัมน์เดียวกัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ความกว้างของคอลัมน์เท่ากับแผ่นงานต้นฉบับ หรือคุณต้องการให้ความกว้างของคอลัมน์เท่ากันทั้งหมดหรือไม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันได้รับข้อผิดพลาดเดียวกับธีโอและดูเหมือนว่าจะไม่มีใครแก้ไขได้ แท็บของฉันชื่อ PO 51, PO 52 เป็นต้น และฉันแทนที่ Sheet1 ด้วย PO 51 เพื่อคัดลอกและได้รับข้อผิดพลาดของตัวห้อยอยู่นอกขอบเขต (9) ฉันทำตามรหัสของ Schuyler เพื่อรับคำสั่งที่ถูกต้อง แต่ฉันยังคงได้รับข้อผิดพลาด และเกิดจากสองบรรทัดนี้เสมอ: ActiveWorkbook.Sheets(s).Copy _ Before:=ActiveWorkbook.Sheets(Worksheets.Count)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote]ฉันได้รับข้อผิดพลาดเดียวกันกับ Theou และดูเหมือนว่าจะไม่มีใครแก้ไขได้ แท็บของฉันชื่อ PO 51, PO 52 เป็นต้น และฉันแทนที่ Sheet1 ด้วย PO 51 เพื่อคัดลอกและได้รับข้อผิดพลาดของตัวห้อยอยู่นอกขอบเขต (9) ฉันทำตามรหัสของ Schuyler เพื่อรับคำสั่งที่ถูกต้อง แต่ฉันยังคงได้รับข้อผิดพลาด และเกิดจากสองบรรทัดนี้เสมอ: ActiveWorkbook.Sheets(s).Copy _ Before:=ActiveWorkbook.Sheets(Worksheets.Count)By เด็บบี้[/quote] คุณช่วยใส่โค้ดทั้งหมดของคุณเพื่อทำให้ดีบั๊กง่ายขึ้นได้ไหม? "ข้อผิดพลาดของตัวห้อยอยู่นอกช่วง" มักจะหมายความว่ารหัสอ้างอิงถึงบางสิ่งที่ไม่มีอยู่จริง ฉันพบสิ่งนี้ในรหัสของฉันเองเมื่อฉันพิมพ์ผิดหรืออะไรทำนองนั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันได้รับข้อผิดพลาดที่ไม่ได้กำหนด 'จำนวนครั้ง'...?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันจะแทรกโค้ดด้านบนนี้ใน vba ได้ที่ไหนฉันควรสร้างปุ่มทั่วไปแล้วข้างใน ?? ความนับถือ.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทำตามขั้นตอนด้านล่าง:
1. คัดลอกโค้ดด้านบน
2. กดปุ่ม ALT + F11 ค้างไว้ และจะเปิดหน้าต่าง Microsoft Visual Basic for Applications
2 คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในหน้าต่างโมดูล
4.จากนั้นกดปุ่ม F5 เพื่อเรียกใช้รหัส
5.กล่องข้อความจะปรากฏขึ้นเพื่อถามจำนวนสำเนาแผ่นงานที่คุณต้องการ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เมื่อลองใช้งานครั้งแรก ฉันได้รับข้อความแสดงข้อผิดพลาดเนื่องจากไม่ได้เปลี่ยนชื่อ Sheet1 หลังจากที่ฉันรู้ว่าอะไรทำให้เกิดข้อผิดพลาด ฉันก็ค้นคว้าเพิ่มเติมอีกเล็กน้อย เนื่องจากฉันไม่ต้องการป้อนชื่อชีตลงในมาโครด้วยตนเอง และเมื่อฉันต้องการฟีเจอร์นี้ ฟีเจอร์นี้ก็มักจะใช้กับชีตปัจจุบันเสมอ ฉันเพิ่มบรรทัด a = activesheet.name และแก้ไขบรรทัดหลัง:=activeworkbook.sheets("sheet1") เป็น activeworkbook.sheets(a).copy _ ใช้งานได้ดีมาก แต่ฉันสังเกตเห็นว่าการนับถูกย้อนกลับ ... ที่ไม่รบกวนฉันในขณะที่ฉันกำลังจะเปลี่ยนชื่อแผ่นงานใหม่ด้วยตนเองอยู่แล้ว เมื่อฉันเห็นโพสต์ของ Schuyler ฉันได้แก้ไขเพิ่มเติมในบรรทัด activeworkbook.sheets(a).copy _ to after:=activeworkbook.sheets(worksheets.count) ตอนนี้ฉันพอใจกับผลลัพธ์แล้ว มาโครที่เสร็จแล้วของฉัน: Sub copy() Dim x As Integer x = InputBox("Enter number of times to copy Sheet1") สำหรับ numtimes = 1 To x ActiveWorkbook.Sheet("Sheet1") คัดลอก _ After:=ActiveWorkbook.Sheets( Worksheets.Count) Next End Sub --- ทั้งหมดดีที่สุด Barry
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมากแบร์รี่ มาโครที่เสร็จแล้วของคุณเป็นสิ่งเดียวที่ใช้ได้ผลสำหรับฉัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันได้รับข้อผิดพลาดทางไวยากรณ์ใน "หลังจาก:= ActiveWorkbook.Sheets(Worksheets.Count)


แต่ฉันไม่รู้ว่าเกิดอะไรขึ้น... คุณช่วยฉันหน่อยได้ไหม?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัส VBA ที่ยอดเยี่ยม - ช่วยได้จริงๆ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันยังใหม่กับสิ่งนี้ ฉันแค่พยายามทำสำเนาแผ่นงานเดียวกัน นี่คือรหัสที่ฉันใช้ Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("คุณต้องการสำเนากี่ชุด") s = InputBox("ป้อนชื่อของแผ่นงานที่คุณต้องการคัดลอก") สำหรับ numtimes = 1 ถึง numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub เมื่อฉันใช้รหัส มันทำให้ฉันมีข้อผิดพลาด "ข้อผิดพลาดทางไวยากรณ์" จากนั้นข้อความนี้จะเปลี่ยนเป็นสีแดง ActiveWorkbook.Sheets (s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) และข้อความ is เปลี่ยนเป็นสีเหลือง Sub Copier() ฉันจะทำอย่างไรเพื่อแก้ไข
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote] ฉันยังใหม่กับสิ่งนี้ ฉันแค่พยายามทำสำเนาแผ่นงานเดียวกัน นี่คือรหัสที่ฉันใช้ Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("คุณต้องการสำเนากี่ชุด") s = InputBox("ป้อนชื่อของแผ่นงานที่คุณต้องการคัดลอก") สำหรับ numtimes = 1 ถึง numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub เมื่อฉันใช้รหัส มันทำให้ฉันมีข้อผิดพลาด "ข้อผิดพลาดทางไวยากรณ์" จากนั้นข้อความนี้จะเปลี่ยนเป็นสีแดง ActiveWorkbook.Sheets (s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) และข้อความ is เปลี่ยนเป็นสีเหลือง Sub Copier() ฉันจะทำอย่างไรเพื่อแก้ไขโดย Tyler Dempsey[/quote] ตรวจสอบรหัสของคุณอีกครั้ง และตรวจสอบให้แน่ใจว่าคุณไม่มีที่ว่างใน ActiveWorkbook แผ่นงานคัดลอก _ หรือที่แผ่นงาน (Worksheets.Cou nt)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote] ฉันยังใหม่กับสิ่งนี้ ฉันแค่พยายามทำสำเนาแผ่นงานเดียวกัน นี่คือรหัสที่ฉันใช้ Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("คุณต้องการสำเนากี่ชุด") s = InputBox("ป้อนชื่อของแผ่นงานที่คุณต้องการคัดลอก") สำหรับ numtimes = 1 ถึง numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub เมื่อฉันใช้รหัส มันทำให้ฉันมีข้อผิดพลาด "ข้อผิดพลาดทางไวยากรณ์" จากนั้นข้อความนี้จะเปลี่ยนเป็นสีแดง ActiveWorkbook.Sheets (s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) และข้อความ is เปลี่ยนเป็นสีเหลือง Sub Copier() ฉันจะทำอย่างไรเพื่อแก้ไขโดย Tyler Dempsey[/quote] นี่คือรหัสที่แน่นอนที่คุณต้องการใช้: Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("คุณต้องการสำเนากี่ชุด") s = InputBox("Enter ชื่อของแผ่นงานที่คุณต้องการคัดลอก") สำหรับ numtimes = 1 ถึง numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณคนสุดท้ายช่วยชีวิตฉันไว้ :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสการทำงาน

เครื่องถ่ายเอกสารย่อย()
Dim เป็นสตริง
ตัวเลขสลัว เป็นจำนวนเต็ม
Dim numCopies เป็นจำนวนเต็ม
numCopies = InputBox("คุณต้องการสำเนากี่ชุด")
s = InputBox("ป้อนชื่อเวิร์กชีตที่คุณต้องการคัดลอก")
สำหรับ numtimes = 1 ถึง numCopies
ActiveWorkbook.Sheet(s).Copy After:=ActiveWorkbook.Sheets(Worksheets.Count)
ต่อไป
ย่อยสิ้นสุด

คัดลอกทั้งบรรทัดจาก ActiveWorkbook.Sheets...... นั่นคือปัญหาและช่องว่างบางส่วน

มีวันที่ยอดเยี่ยม
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ