วิธีการคัดลอก หรือย้ายแผ่นงาน โดยใช้รหัส VBA ใน Excel สำหรับ Mac

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 288402 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

สรุป

คุณสามารถใช้ Microsoft Visual Basic สำหรับรหัสแอปพลิเคชัน (VBA) เพื่อคัดลอก หรือย้ายแผ่นงานภาย ในสมุดงาน หรือ ระหว่างสมุดงาน ซึ่งจะเป็นประโยชน์โดยเฉพาะอย่างยิ่ง ถ้าคุณต้องการย้าย หรือคัดลอกแผ่นงานหลาย หรือ ถ้าคุณต้องการทำสำเนาหลายของแผ่นงาน

บทความนี้แสดงตัวอย่างของรหัส VBA เพื่อทำงานเหล่านี้

ข้อมูลเพิ่มเติม

Microsoft แสดงตัวอย่างการเขียนโปรแกรมเพื่อประกอบการอธิบายเท่านั้น และไม่มีการรับประกัน ไม่ว่าโดยชัดแจ้งหรือโดยนัย ทั้งนี้รวมถึง แต่ไม่จำกัดเพียงการรับประกันโดยนัยในเรื่องการซื้อขายหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ บทความนี้อนุมานว่าคุณมีความคุ้นเคยกับภาษาการเขียนโปรแกรมที่แสดงอยู่ รวมทั้งเครื่องมือต่างๆ ที่ใช้ในการสร้างและแก้จุดบกพร่องกระบวนการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายเกี่ยวกับหน้าที่การใช้งานของกระบวนการเฉพาะได้ แต่จะไม่ปรับเปลี่ยนตัวอย่างเหล่านี้เพื่อให้มีหน้าที่การใช้งานที่เพิ่มขึ้น หรือสร้างกระบวนการใดๆ เพื่อตอบสนองความต้องการอย่างใดอย่างหนึ่งของคุณโดยเฉพาะหมายเหตุ:ใน Microsoft Excel 2001 สำหรับ Macintosh โดยไม่ต้อง 2001 Office Microsoft สำหรับ Mac Service นำออกใช้ 1 คุณต้องวางรหัสในสมุดงานที่แยกต่างหากจากแผ่นงานที่มีการคัดลอก

2001 Excel สำหรับ Macintosh มีปัญหาเมื่อรหัส VBA ที่คัดลอกแผ่นงานอยู่ในสมุดงานเดียวกันเป็นแผ่นงานที่มีการคัดลอก

มีแก้ไขปัญหานี้ Service 1 นำออกใช้สำหรับ Microsoft Office 2001 สำหรับ Mac.สำหรับ informationabout เติม ปัญหานี้ใน Excel 2001 สำหรับ Mac คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
286266แฮง Excel เมื่อคุณพยายามที่จะคัดลอกแผ่นงานในสมุดงานเดียวกัน
:

ตัวอย่างรหัสเพื่อคัดลอกแผ่นงาน

การคัดลอกแผ่นงานที่ระบุในสมุดงานที่ใช้งานอยู่

Sub Copier1()
    'Replace "Sheet1" with the name of the sheet to be copied.
    ActiveWorkbook.Sheets("Sheet1").Copy _
       after:=ActiveWorkbook.Sheets("Sheet1")
End Sub
				

คัดลอกแผ่นงานที่ระบุในสมุดงานที่ใช้งานอยู่หลายเวลา


Sub Copier2()
    Dim x As Integer
    
    x = InputBox("Enter number of times to copy Sheet1")
    For numtimes = 1 To x
        'Loop by using x as the index number to make x number copies.
        'Replace "Sheet1" with the name of the sheet to be copied.
        ActiveWorkbook.Sheets("Sheet1").Copy _
           After:=ActiveWorkbook.Sheets("Sheet1")
    Next
End Sub
				

การคัดลอกเวลาหลาย ActiveSheet

Sub Copier3()
   Dim x As Integer
   
   x = InputBox("Enter number of times to copy active sheet")
   For numtimes = 1 To x
      'Loop by using x as the index number to make x number copies.
      ActiveWorkbook.ActiveSheet.Copy _
         Before:=ActiveWorkbook.Sheets("Sheet1")
         'Put copies in front of Sheet1.
         'Replace "Sheet1" with sheet name that you want.
   Next
End Sub
				

คัดลอกแผ่นงานทั้งหมดในสมุดงานแบบครั้งเดียว

Sub Copier4()
   Dim x As Integer

   For x = 1 To ActiveWorkbook.Sheets.Count
      'Loop through each of the sheets in the workbook
      'by using x as the sheet index number.
      ActiveWorkbook.Sheets(x).Copy _
         After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
         'Puts all copies after the last existing sheet.
   Next
End Sub
				

ตัวอย่างรหัสในการย้ายแผ่นงาน

ย้ายแผ่นงานที่ใช้งานอยู่ไปยังตำแหน่งใหม่ในสมุดงาน

Sub Mover1()
    ActiveSheet.Move _
       After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
       'Moves active sheet to end of active workbook.
End Sub
				

ย้ายแผ่นงานที่ใช้งานอยู่ไปยังสมุดงานอื่น

Sub Mover2()
    ActiveSheet.Move Before:=Workbooks("Test.xls").Sheets(1)
    'Moves active sheet to beginning of named workbook.
    'Replace Test.xls with the full name of the target workbook you want.
End Sub
				

ย้ายแผ่นงานหลาย ActiveWorkbook ไปยังสมุดงานอื่น

Sub Mover3()
   Dim BkName As String
   Dim NumSht As Integer
   Dim BegSht As Integer

   'Starts with second sheet - replace with index number of starting sheet.
   BegSht = 2
   'Moves two sheets - replace with number of sheets to move.
   NumSht = 2
   BkName = ActiveWorkbook.Name
    
    For x = 1 To NumSht
      'Moves second sheet in source to front of designated workbook.
      Workbooks(BkName).Sheets(BegSht).Move _
         Before:=Workbooks("Test.xls").Sheets(1)
         'In each loop, the next sheet in line becomes indexed as number 2.
      'Replace Test.xls with the full name of the target workbook you want.
    Next
End Sub
				

ข้อมูลอ้างอิง

X Excel ของ Microsoft สำหรับ Mac และรุ่นที่ใหม่กว่า

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการคัดลอก จากนั้น Visual Basic Editor คลิกวิธีใช้ Microsoft Visual Basic การค้นหาในการวิธีใช้เมนู ชนิดวิธีการคัดลอกคลิกค้นหาจากนั้น คลิกเพื่อดู"วิธีการคัดลอก"แสดงหัวข้อที่สาม เลือกใช้กับแผ่นงาน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการย้าย จากนั้น Visual Basic Editor คลิกวิธีใช้ Microsoft Visual Basic การค้นหาในการวิธีใช้เมนู ชนิดวิธีย้ายคลิกค้นหาจากนั้น คลิกเพื่อดู"ย้ายวิธี"แสดงหัวข้อที่สาม เลือกใช้กับแผ่นงาน

2001 Excel สำหรับ Macintosh

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการคัดลอก จากนั้น Visual Basic Editor คลิผู้ช่วย Office พิมพ์วิธีการคัดลอกคลิกค้นหาจากนั้น คลิกเพื่อดู"วิธี (MS Excel VBA) คัดลอก"

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการย้าย จากนั้น Visual Basic Editor คลิผู้ช่วย Office พิมพ์วิธีย้ายคลิกค้นหาจากนั้น คลิกเพื่อดู"ย้ายวิธี (MS Excel VBA)"

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับปัญหาในการคัดลอกแผ่นงานที่ประกอบด้วยรหัสที่อยู่ในสมุดงานเดียวกัน คลิกหมายเลขบทความด้านล่างนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
286266XL2001: แฮงค์ Excel เมื่อคุณพยายามคัดลอกแผ่นงานในสมุดงานเดียวกัน

Microsoft Excel 98 Macintosh Edition

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการคัดลอก จากนั้น Visual Basic Editor คลิผู้ช่วย Office พิมพ์วิธีการคัดลอกคลิกค้นหาจากนั้น คลิกเพื่อดู"วิธี (Excel 97) คัดลอก"

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการย้าย จากนั้น Visual Basic Editor คลิผู้ช่วย Office พิมพ์วิธีย้ายคลิกค้นหาจากนั้น คลิกเพื่อดู"ย้ายวิธี (Excel 97)"

คุณสมบัติ

หมายเลขบทความ (Article ID): 288402 - รีวิวครั้งสุดท้าย: 6 ตุลาคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
Keywords: 
dftsdahomeportal kbinfo kbmt KB288402 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:288402

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com