Vba: วิธีคัดลอกช่วงไปยังแผ่นงานอื่น


คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน VBA เพื่อคัดลอกช่วงของเซลล์ไปยังแผ่นงานอื่น:

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial

Application.CutCopyMode = False

End Sub

มาโครนี้จะคัดลอกเซลล์ในช่วง A1:C11 ของ Sheet1 และวางลงในช่วงที่เริ่มต้นในเซลล์ A1 ของ Sheet2

หมายเหตุ : บรรทัด Application.CutCopyMode = False ระบุว่าควรปิดใช้งานโหมดการตัดและคัดลอกหลังจากดำเนินการแมโคร

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: คัดลอกช่วงไปยังแผ่นงานอื่นโดยใช้ VBA

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ในแผ่นงานชื่อ Sheet1 ใน Excel ซึ่งมีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

สมมติว่าเรามีชีตอื่นชื่อ Sheet2 ซึ่งขณะนี้ว่างเปล่า:

สมมติว่าเราต้องการคัดลอกค่าทั้งหมดในช่วง A1:C11 จาก Sheet1 และวางโดยเริ่มจากเซลล์ A1 ของ Sheet2

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial

Application.CutCopyMode = False

End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้ใน Sheet2 :

โปรดทราบว่าค่าทั้งหมดในช่วง A1:C11 จาก Sheet1 ถูกคัดลอกไปยัง Sheet2 จากเซลล์ A1

ตามค่าเริ่มต้น ค่าจะถูกวางด้วยการจัดรูปแบบต้นฉบับ

เช่น ค่าแถวส่วนหัวเป็นตัวหนา

หากคุณต้องการวางเฉพาะค่าโดยไม่มีการจัดรูปแบบต้นฉบับ คุณสามารถระบุ Paste:=xlPasteValues ได้ดังนี้:

 Sub CopyRangeToSheet()

Worksheets(" Sheet1 ").Range(" A1:C11 ").Copy
Worksheets(" Sheet2 ").Range(" A1 ").PasteSpecial Paste=xlPasteValues

Application.CutCopyMode = False

End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้ใน Sheet2 :

โปรดทราบว่าเฉพาะค่า (ที่ไม่มีการจัดรูปแบบ) จากช่วง A1:C11 ของ Sheet1 เท่านั้นที่ถูกคัดลอกไปยัง Sheet2

หมายเหตุ : คุณสามารถดูเอกสารฉบับเต็มสำหรับวิธี VBA PasteSpecial ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีวางค่าโดยไม่ต้องจัดรูปแบบเท่านั้น
VBA: วิธีคัดลอกเส้นที่มองเห็นไปยังแผ่นงานอื่น
VBA: คัดลอกแถวไปยังแผ่นงานอื่นตามเกณฑ์

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *