GPT Workspace GPT Workspace

วิธีคัดลอก Worksheet ใน Excel

วิธีคัดลอก Worksheet ใน Excel อย่างรวดเร็ว โดยคงการจัดรูปแบบ สูตร และลิงก์ไว้ครบถ้วน พร้อมคู่มือทีละขั้นตอนสำหรับ Windows, Mac และ VBA

Mathias Gilson
Mathias Gilson
ผู้เขียน
27 สิงหาคม 2569

แชร์

วิธีคัดลอก Worksheet ใน Excel

ลองนึกภาพคุณเปิดไฟล์ Excel มาแล้วเจอว่ามีชีตที่ใช้ได้อยู่แผ่นเดียว อีกสามแผ่นพังไปหมด ทั้งที่เดดไลน์ก็ไม่สนใจว่าคุณจะระวังแค่ไหน คุณต้องการสำเนาชีตที่สะอาด อาจอยู่ในไฟล์เดิมหรืออีกไฟล์หนึ่งก็ได้ และคุณไม่อยากเสียเวลาทั้งชั่วโมงไปกับการคลี่คลายสูตรที่พันกันยุ่ง แก้กราฟ หรือมานั่งเจอว่าคิดว่ากดคัดลอกแต่กลายเป็นย้ายชีตไปซะงั้น นี่คือแก่นของปัญหาในงาน คัดลอก Worksheet ใน Excel: การกดนั้นง่ายนิดเดียว แต่ผลที่ตามมาต่างหากที่คนมักเจ็บตัว

Excel มอง worksheet มากกว่าแค่ตารางเซลล์ธรรมดา เพราะพอคัดลอกแท็บหนึ่งแท็บ สิ่งที่คุณต้องจัดการมีทั้งสูตร ชื่อที่กำหนดไว้ ตาราง แหล่งข้อมูลของกราฟ กฎการตรวจสอบข้อมูล การจัดรูปแบบ และบางทีก็รวมพฤติกรรมของ VBA ด้วย เอกสารของ Microsoft เองก็ระบุชัดว่าการทำสำเนา worksheet เป็น workflow หลักของ Excel ทั้งผ่านหน้าจอและผ่านการทำงานอัตโนมัติด้วย VBA ทักษะสำคัญจึงอยู่ที่การรู้ว่าอะไรติดมากับสำเนา และอะไรที่ยังต้องกลับมาตรวจอีกรอบหลังคัดลอกเสร็จ คู่มือการย้ายและคัดลอก worksheet ของ Microsoft และ เอกสารอ้างอิงการคัดลอกด้วย VBA คือพื้นฐานของเรื่องนี้

สารบัญ

ทำไมการคัดลอก Worksheet จึงมีมากกว่าแค่การคลิก

สำเนา worksheet ดูเป็นเรื่องง่าย จนกว่าแท็บใหม่จะเริ่มทำงานต่างจากต้นฉบับ นั่นคือจุดที่คนมักมองข้าม สูตรอาจยังชี้กลับไปที่ต้นทาง ช่วงข้อมูลของกราฟอาจยังผูกอยู่กับข้อมูลเก่า และชีตที่ดูเหมือนเหมือนกันทุกประการก็ยังพังได้ทันทีที่ย้ายไปคนละไฟล์ งาน คัดลอก Worksheet ใน Excel จึงไม่ได้มีแค่การทำสำเนาเซลล์ แต่คือการคัดลอกทั้งโครงสร้างของชีตโดยไม่ปล่อยให้สิ่งที่พึ่งพากันอยู่รอบตัวมันหลุดมือ

เริ่มจากโครงสร้าง ไม่ใช่เซลล์

Excel คัดลอกชีตเป็นหนึ่งหน่วยเดียว สูตรพา relative reference ติดมาด้วย และการจัดรูปแบบ named range conditional formatting การตรวจสอบข้อมูล การตั้งค่าหน้ากระดาษ และการจัดรูปแบบตารางก็ตามมาเหมือนกัน ทั้งคู่มือทางการของ Microsoft เรื่องการย้ายหรือคัดลอก และ เอกสารอ้างอิงเมธอด Sheets.Copy ใน VBA ชี้ไปทางเดียวกัน คือ Excel รักษาทั้ง worksheet ไว้ให้ ไม่ใช่แค่ค่าที่ตาเห็น

และนี่คือจุดที่คนมักเจ็บตัว เพราะ series ของกราฟ ลิงก์ภายนอก แหล่งข้อมูลของ pivot และชื่อระดับชีต ยังชี้ไปที่ต้นฉบับหรือเลื่อนไปในแบบที่คาดไม่ถึงได้ ถ้า worksheet ตัวนี้เป็นตัวป้อนข้อมูลให้รายงาน ให้ตรวจสูตรและทุก object ที่ผูกกับแท็บนี้ก่อน แล้วค่อยไว้ใจสำเนา

กฎข้อปฏิบัติ: ถ้าชีตนี้เป็นตัวป้อนข้อมูลให้รายงาน ให้ตรวจสำเนาก่อนส่งต่อเสมอ

คัดลอก Worksheet ภายในไฟล์เดียวกัน

วิธีที่ปลอดภัยที่สุดยังคงเป็นวิธีที่ดูน่าเบื่อที่สุด เพราะความน่าเบื่อนั่นแหละที่ให้การควบคุมแก่คุณ คลิกขวาที่แท็บชีต เลือก Move or Copy (ย้ายหรือคัดลอก) ติ๊ก Create a copy (สร้างสำเนา) เลือกตำแหน่งที่จะวาง แล้วกดยืนยัน กล่องโต้ตอบนี้สำคัญเพราะมันทำให้การคัดลอกชัดเจน แทนที่จะพึ่งท่าลากที่มือหลุดนิดเดียวก็กลายเป็นการย้าย

Screenshot from https://example.com/screenshots/move-or-copy-dialog.png

ใช้การลากคัดลอกเฉพาะเมื่อเน้นความเร็ว

กด Ctrl ค้างแล้วลากแท็บชีตเพื่อทำสำเนาไว้ที่เดิม บน Mac ให้กด Option ค้างตอนลาก วิธีนี้เร็วจริง แต่ก็ผิดง่ายถ้าปล่อยปุ่มผิดลำดับ เพราะฉะนั้นอย่าใช้เมื่อชีตต้องลงจุดเป๊ะ ๆ หรือเมื่อคุณแคร์เรื่องความผิดพลาด

มีนิสัยง่าย ๆ ที่ช่วยกันพลาด คือวางแท็บลงจุดที่ต้องการก่อน แล้วค่อยปล่อยปุ่มเมาส์ ก่อนที่จะปล่อยปุ่ม Ctrl ถ้าต้องการเปลี่ยนชื่อทันที กด F2 หรือดับเบิลคลิกที่ชื่อแท็บ แต่ถ้าแค่อยากได้ชีตเปล่าแผ่นใหม่แทนสำเนา Alt+Shift+F1 จะสร้างให้ทันที

ใช้กล่องโต้ตอบเมื่อตำแหน่งสำคัญ

กล่องโต้ตอบดีกว่าเมื่อสำเนาต้องไปวางติดกับแท็บใดแท็บหนึ่งเป็นพิเศษ คุณเลือกตำแหน่งแบบเป๊ะได้ด้วยตัวเลือก Before sheet (ก่อนชีต) ซึ่งเป็นส่วนที่คนมักข้ามไปแล้วต้องมาเสียใจทีหลัง Microsoft บันทึกทั้งวิธี Ctrl+ลากและกล่องโต้ตอบ Move or Copy ไว้ และกล่องโต้ตอบนี่แหละที่ให้ขั้นตอนยืนยันที่คุณต้องการในไฟล์จริง หน้าซัพพอร์ต Excel ของ Microsoft คือข้อมูลอ้างอิงที่เชื่อถือได้ที่สุด

ถ้าคุณต้องทำเรื่องนี้บ่อย ๆ เลิกนับการลากคัดลอกเป็นค่าเริ่มต้นซะ ใช้กล่องโต้ตอบกับทุกงานที่สำคัญ เพราะมันคือวิธีคัดลอกที่บังคับให้คุณหยุดตรวจปลายทางก่อนกดยืนยัน สำหรับ workflow สเปรดชีตที่กว้างกว่านี้ GPT Workspace ก็ทำงานอยู่ใน Sheets ช่วยเรื่องสูตรและข้อมูล แต่การคัดลอกชีตใน Excel เองก็ยังวนกลับมาที่จุดควบคุมเดียวกันนี้

คัดลอก Worksheet ไปไฟล์อื่นหรือไฟล์ใหม่

การคัดลอกไปอีก workbook หนึ่งคือแนวคิดเดิมที่เพิ่มเงื่อนไขอีกข้อ คือไฟล์ปลายทางต้องเปิดก่อน ไม่อย่างนั้น Excel จะไม่แสดงชื่อไฟล์นั้นในดรอปดาวน์ To book (ไปยังสมุดงาน) นี่คือจุดที่คนมักไม่รู้แล้วไปสรุปว่าฟีเจอร์คัดลอกพัง

เปิดไฟล์ปลายทางก่อน แล้วคลิกขวาที่แท็บต้นทางและเลือก Move or Copy ที่ช่อง To book เลือกไฟล์ปลายทาง ติ๊ก Create a copy แล้วเลือกตำแหน่ง ถ้าอยากได้ไฟล์แยกใหม่ ให้เลือก (new book) แล้วกด Ctrl+S เซฟทันที

ตรวจให้แน่ว่าไฟล์ทั้งสองเปิดใน Excel ตัวเดียวกัน

หลายคนติดตรงนี้ ถ้าไฟล์ทั้งสองเปิดคนละ process ของ Excel กล่องโต้ตอบอาจมองไม่เห็นไฟล์ปลายทาง เรื่องนี้เกิดบ่อยเกินควร โดยเฉพาะเมื่อมี add-in หรือคนละเวอร์ชันเข้ามาเกี่ยวข้อง วิธีแก้ที่ใช้ได้จริงก็ง่ายมาก คือเปิดไฟล์ทั้งสองจากหน้าต่าง Excel เดียวกัน ไม่ใช่จากสอง instance ที่ไม่เชื่อมถึงกัน

รู้ไว้ว่าไฟล์ปลายทางส่งผลต่อผลลัพธ์

ชีตที่คัดลอกมาพาโครงสร้างของตัวเองติดมา แต่ไฟล์ปลายทางก็มีค่าเริ่มต้นการจัดรูปแบบของตัวเอง หมายความว่าสีธีมและความกว้างคอลัมน์อาจขยับไปพอให้ผลลัพธ์ดูเพี้ยนเล็กน้อย ถ้าความสอดคล้องด้านภาพสำคัญกับคุณ ให้เก็บงานเร็ว ๆ หลังคัดลอกเสร็จ แทนที่จะคิดว่าสำเนาจะเหมือนเป๊ะโดยอัตโนมัติ

เปิดไฟล์ปลายทางก่อน ไม่งั้น Excel จะทำให้กระบวนการยุ่งยากเกินจำเป็น

อะไรบ้างที่ติดมาเมื่อคัดลอก

การคัดลอกชีตไม่ใช่การวางธรรมดา และนั่นแหละคือประเด็น คุณต้องการ worksheet เป็นหนึ่งหน่วย ไม่ใช่ก้อนค่าที่ถูกตบแบนมา ดังนั้น Excel จึงช่วยรักษาโครงสร้างไว้ให้เยอะแยะ หน้าที่ของคุณคือรู้ว่าอะไรรอดมาอย่างเรียบร้อย และอะไรที่ยังต้องตรวจด้วยมือ

ใช้เช็กลิสต์นี้ก่อนไว้ใจสำเนา

องค์ประกอบในไฟล์เดียวกันไปไฟล์อื่นหมายเหตุ
สูตรได้ได้Relative reference มักคงตำแหน่งเดิม แต่ให้ตรวจสูตรที่ชี้ไปชีตอื่นทุกจุด
Named rangeส่วนใหญ่ส่วนใหญ่ชื่อระดับไฟล์ย้ายตามได้เชื่อถือกว่าชื่อระดับชีต
Conditional formattingได้ได้มักติดมาพร้อมโครงสร้างของชีต
Data validationได้ได้ตรวจ list ที่ชี้ไปชีตอื่นหรือไปยังชื่อที่กำหนดไว้
ตารางได้ได้โครงสร้างตารางอยู่ครบ แต่ reference ที่เชื่อมกันยังต้องตรวจอีกที
กราฟส่วนใหญ่ส่วนใหญ่ตรวจช่วงข้อมูลต้นทางซ้ำหลังคัดลอก
Pivot tableส่วนใหญ่ส่วนใหญ่การ refresh อาจคลาดเคลื่อนหลังทำสำเนา
โค้ด VBA ระดับชีตไม่ได้ไม่ได้โค้ดใน worksheet module ไม่ติดมากับชีต
ลิงก์ภายนอกไม่รับประกันไม่รับประกันต้องตรวจสูตรและลิงก์ของไฟล์ด้วยตนเอง

อย่าเพิ่งสมมติว่าสำเนาอยู่ได้ด้วยตัวเอง

ชีตอาจดูครบถ้วนแต่ยังแอบชี้ไปที่อื่นอยู่ สูตรคือสิ่งแรกที่ควรตรวจ โดยเฉพาะสูตรที่ยื่นข้ามชีตหรือไปไฟล์อื่น ชื่อระดับชีตก็พลาดง่ายด้วยเหตุผลเดียวกัน เพราะมันนิ่งอยู่เงียบ ๆ จนกระทั่งสูตรที่คัดลอกมาเริ่มคืนค่าผิด ๆ

object และ control ต่าง ๆ ก็สมควรได้รับการตรวจแบบเดียวกัน บางอย่างข้ามาเรียบร้อย บางอย่างต้องทดสอบ และอะไรที่ผูกกับ VBA ต้องตรวจแยกอีกรอบ รวมถึงแหล่งข้อมูลของกราฟด้วย ที่อาจยังผูกกับช่วงข้อมูลเดิมอยู่แม้ชีตจะถูกคัดลอกไปแล้ว

ถ้าคุณสร้าง worksheet ที่มีเซลล์ผสานในเลย์เอาต์ ให้ทบทวนโครงสร้างก่อนนำกลับมาใช้ซ้ำ การเช็กเร็ว ๆ อย่าง คู่มือการผสานเซลล์ใน Google Sheets ช่วยเตือนใจว่าโครงสร้างที่คัดลอกมาไม่เคยเหมือนกันสมบูรณ์ข้ามเครื่องมือสเปรดชีต สำหรับงานที่ขับด้วย VBA ให้ตามเอกสารเมธอด Sheets.Copy บน Microsoft Learn แล้วตรวจโค้ดของชีตและ object ที่เชื่อมอยู่ด้วยตัวเอง

คัดลอก Worksheet ด้วย VBA

ถ้าคุณต้องทำสำเนาชีตเดิมซ้ำ ๆ หลายรอบ เลิกนั่งคลิกไปมาแล้วหันมาใช้ VBA เถอะ Excel เปิดให้เรียกการทำงานนี้ตรง ๆ ผ่าน Worksheet.Copy และ Sheets.Copy ซึ่งสำคัญเพราะมันรักษา worksheet ทั้งชีตไว้ แทนที่จะตบแบนเหลือแค่ค่าที่วางมา Microsoft ยังบันทึกพฤติกรรมที่ว่าถ้าไม่ระบุปลายทาง ระบบจะสร้าง workbook ใหม่ที่บรรจุชีตที่คัดลอกไว้ Worksheet.Copy คือเอกสารอ้างอิงที่ควรเก็บไว้ใช้

ใช้แพตเทิร์นง่าย ๆ แล้วตั้งชื่อผลลัพธ์ทันที

แนวทางพื้นฐานหน้าตาแบบนี้:

Worksheets("Template").Copy After:=Worksheets(Worksheets.Count)

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

กัน automation ไม่ให้ยิง event ที่ไม่ต้องการ

ถ้าไฟล์มีโค้ด Worksheet_Change หรือ event handler ตัวอื่น มันอาจทำงานทันทีที่สำเนาถูกวางลง ซึ่งทำให้การทำสำเนาธรรมดากลายเป็นเหมือนเปลี่ยน workflow ทั้งอัน ให้ปิด event ระหว่างที่คัดลอกทำงาน แล้วค่อยเปิดกลับเมื่อเสร็จ และทำแบบเดียวกันกับการอัปเดตหน้าจอถ้าอยากให้กระบวนการดูนุ่มนวลขึ้น

โค้ดสั้น ๆ ที่อ่านง่ายก็มักพอแล้ว:

Dim ws As Worksheet Set ws = Worksheets("Template").Copy(After:=Worksheets(Worksheets.Count)) ws.Name = "Report_" & Format(Now, "yyyymmdd")

นี่คือท่าที่ถูกต้องเมื่องานเป็นแบบเดิมซ้ำ ๆ จำนวนไฟล์เริ่มโตขึ้น หรือเมื่อการคัดลอกแท็บต้องเป็นส่วนหนึ่งของ automation ที่ใหญ่กว่าเดิม

เมื่อการคัดลอกมีปัญหากับไฟล์ขนาดใหญ่

ชีตใหญ่เปลี่ยนเกมไปเลย การคัดลอกที่เสร็จไวราวกับชั่วพริบตาบนแท็บเล็ก ๆ อาจกลายเป็นหน่วงแสนนาน ค้างจน Excel เดี้ยง หรือกู้คืนมาเป็นไฟล์ที่ดูเหมือนพัง เมื่อไฟล์เต็มไปด้วยสูตร pivot table และการจัดรูปแบบหนาแน่น คู่มือแก้ปัญหาของ Microsoft อธิบายด้านหน่วยความจำของปัญหานี้ไว้ชัดเจน โดยเฉพาะในสภาพแวดล้อม 32-bit รุ่นเก่า ที่ Excel ถูกจำกัดด้วยหน่วยความจำของ process และการคัดลอกสูตรพื้นที่กว้างสามารถชนขีดจำกัดนั้นได้เร็วมาก คู่มือการคัดลอกสูตรพื้นที่กว้างของ Microsoft คือสัญญาณเตือนที่คนมักมองข้ามมากเกินไป

สังเกตสัญญาณเตือนที่เห็นชัด

ถ้าแถบสถานะค้างที่คำว่า Calculating (กำลังคำนวณ) นานผิดปกติ แปลว่าคุณไม่ได้อยู่ในการคัดลอกปกติอีกต่อไป ข้อความหน่วยความจำไม่พอ network share ที่ช้า และการ crash เงียบ ๆ แล้วเปิดใหม่เข้าโหมดกู้คืน ล้วนเป็นสัญญาณว่าไฟล์นี้หนักเกินกว่าจะทำสำเนาแบบสบาย ๆ ยิ่งสูตรแน่นมากขึ้นเท่าไร และยิ่งชีตมี object ที่พึ่งพากันมากขึ้นเท่าไร ประสบการณ์ก็ยิ่งแย่ลงเท่านั้น

ใช้วิธีแก้ที่ลดความเสี่ยงได้จริง

ตั้งค่าการคำนวณเป็น Manual (กำมือ) ก่อนคัดลอก แล้วค่อยสลับกลับเมื่อสำเนาเสร็จ ถ้าไฟล์อืดอยู่แล้วเพราะประวัติ undo สะสมเต็มเปี่ยบ ให้เซฟและปิดไฟล์ก่อน และอย่าพยายามคัดลอกชีตมหึมาช่วงที่เครือข่ายลุกเป็นไฟถ้าไฟล์อยู่บน share ถ้าชีตใหญ่เกินไป ให้แยกเป็นไฟล์ย่อยหรือ export เฉพาะส่วนที่ต้องการแล้วสร้างใหม่จากตรงนั้น

ถ้ารู้สึกว่าการคัดลอกผิดปกติ อย่ารอ ให้หยุดแล้วตรวจสถานะของไฟล์

สำหรับทีมที่อยากเก็บกวาดของตกค้างที่สะสมในไฟล์ก่อนคัดลอก GPT Workspace มีตัวช่วยงานสเปรดชีตอยู่ใน Google Sheets แต่ขีดจำกัดของ Excel ก็ยังเท่าเดิม คือถ้าไฟล์หนักเกินไป การคัดลอกย่อมลำบาก

สรุปเร็ว ๆ ว่าควรเลือกวิธีไหน

การคัดลอก worksheet ดูง่าย จนกว่าคุณจะเริ่มสนใจว่าอะไรจะพัง สำหรับการทำสำเนาเร็ว ๆ ในไฟล์เดียวกัน ใช้กล่องโต้ตอบ Move or Copy จากการคลิกขวา เพราะมันบังคับให้คุณยืนยันการคัดลอกและวางตำแหน่งให้ถูกต้อง ส่วน Ctrl+ลาก ใช้เฉพาะเมื่อความเร็วสำคัญกว่าความแม่น

เลือกตามหน้างาน ไม่ใช่ตามความเคยชิน

  • ในไฟล์เดียวกัน: ใช้ Move or Copy เมื่อแท็บมีสูตร pivot หรือลิงก์รายงานที่ต้องลงจุดให้ถูก
  • คนละไฟล์: เปิดไฟล์ปลายทางก่อน แล้วใช้ Move or Copy โดยติ๊ก Create a copy
  • หลายไฟล์หรือทำซ้ำบ่อย: ใช้ VBA เพราะการนั่งคลิกเส้นทางเดิมซ้ำ ๆ คือเวลาที่เสียเปล่า
  • ชีตมหึมาหรือชีตบอบบาง: หยุดก่อน แล้วทบทวน workflow ก่อนคัดลอกทั้งแผ่น

การคัดลอกยังเปลี่ยน reference แหล่งข้อมูลของกราฟ และพฤติกรรมของโค้ดในแบบที่คนมักมองข้าม ถ้าไฟล์หนักอยู่แล้ว เต็มไปด้วยสูตร หรือผูกกับ pivot และ model link มากมาย การคัดลอกอาจช้าลงยับหรือล้มเหลวไปเลย ให้แยกไฟล์ จัดเก็บเวอร์ชันเก่า หรือสร้างผลลัพธ์ใหม่ในไฟล์ที่เล็กกว่า แทนที่จะบังคับ Excel ให้แบกของเกินกำลัง

ถ้าคุณกำลังเก็บงานเทมเพลต ทำสำเนาแท็บรายงานซ้ำ ๆ หรือทำ automation ให้การคัดลอกชีตที่ต้องทำบ่อย ๆ ลอง สำรวจ GPT Workspace สำหรับงานสเปรดชีต ควบคู่กับงานประจำวันของคุณใน Google Sheets และไฟล์ที่เกี่ยวข้อง

ปรับปรุงโดยใช้ เครื่องมือ Outrank

ติดตั้งฟรี

พร้อมที่จะเพิ่มพลังให้เวิร์กโฟลว์ของคุณหรือยัง?

เข้าร่วมกับผู้ใช้ 7 ล้านคนที่ใช้ GPT Workspace อยู่แล้วเพื่อเพิ่มประสิทธิภาพการทำงาน

การติดตั้ง GPT Workspace ถือว่าคุณยอมรับ
ข้อกำหนดในการให้บริการ และ นโยบายความเป็นส่วนตัว