ตามค่าเริ่มต้น เมื่อคุณแทรกแผนภูมิใน Excel แผนภูมิจะถูกสร้างขึ้นในเวิร์กชีตเดียวกันกับที่คุณมีชุดข้อมูลต้นทาง
แต่ในหลายกรณี คุณอาจต้องการย้ายแผนภูมิจากแผ่นงานที่สร้างแผนภูมินั้นไปยังแผ่นงานอื่น (หรือแผ่นงานแผนภูมิ - เฉพาะแผนภูมิ)
สิ่งนี้มีประโยชน์เมื่อคุณสร้างแดชบอร์ด ซึ่งข้อมูลสามารถกระจัดกระจายไปทั่วเวิร์กบุ๊ก แต่คุณสามารถรับแผนภูมิที่สำคัญทั้งหมดในแผ่นงานด้วยแดชบอร์ด
เมื่อย้ายแผนภูมิไปยังแผ่นงานอื่น คุณสามารถ:
- ย้ายเป็นวัตถุแผนภูมิจากแผ่นงานหนึ่งไปยังอีกแผ่นหนึ่ง
- ย้ายแผนภูมิไปที่แผ่นแผนภูมิ คุณมีเพียงแผนภูมิ
ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนทีละขั้นตอนในการย้ายแผนภูมิไปยังเวิร์กชีตใหม่ใน Excel
มาเริ่มกันเลย!
เนื้อหา
ออบเจ็กต์แผนภูมิและชีตแผนภูมิ
ก่อนฉันจะเข้าสู่ขั้นตอนการย้ายแผนภูมิไปยังชีตใหม่ใน Excel ให้ฉันอธิบายอย่างรวดเร็วระหว่างวัตถุแผนภูมิและแผ่นแผนภูมิ的ความแตกต่าง.
เมื่อคุณสร้างแผนภูมิในแผ่นงานที่มีข้อมูลอยู่แล้ว คุณจะได้รับวัตถุแผนภูมิ (นี่คือแผนภูมิที่อยู่เหนือแผ่นงาน และคุณสามารถย้ายแผนภูมิได้เหมือนวัตถุ)
แผ่นงานแผนภูมิเป็นแผ่นงานที่แตกต่างไปจากเดิมอย่างสิ้นเชิงสำหรับแผนภูมิเดียวดังนั้นเมื่อคุณย้ายแผนภูมิ Excel ที่มีอยู่ไปยังแผ่นงานแผนภูมิใหม่ คุณจะมีเฉพาะแผนภูมิในแผ่นงานนั้น (และไม่มีเซลล์หรือตารางใดๆ เหมือนกับแผ่นงานปกติ)
ในบทช่วยสอนนี้ ฉันจะแสดงวิธีย้ายแผนภูมิที่มีอยู่ไปยังแผ่นงานใหม่ (เป็นวัตถุ) หรือแผ่นงานแผนภูมิใหม่
ย้ายแผนภูมิไปยังแผ่นงานใหม่ (หรือแผ่นงานอื่นที่มีอยู่)
สมมติว่าคุณมีชุดข้อมูลที่แสดงด้านล่างและคุณได้สร้างแผนภูมิด้วย
ตอนนี้ ฉันต้องการย้ายแผนภูมินี้ไปยังแผ่นงานอื่นในสมุดงานเดียวกัน (แผ่นงานนี้ - ตำแหน่งที่ฉันกำลังย้ายแผนภูมิ - ควรมีอยู่แล้วในสมุดงาน)
นี่คือขั้นตอนในการทำเช่นนี้:
- คลิกที่วัตถุแผนภูมิเพื่อย้าย
- คลิกที่แท็บการออกแบบแผนภูมิ (นี่คือแท็บตามบริบทที่ปรากฏเฉพาะเมื่อคุณเลือกแผนภูมิใดๆ เท่านั้น)
- ในกลุ่มสถานที่ตั้ง ให้คลิกไอคอนย้ายแผนภูมิ
- ในกล่องโต้ตอบ Move Diagram ตรวจสอบให้แน่ใจว่าได้เลือกตัวเลือก Object in แล้ว
- จากรายการดรอปดาวน์ ให้เลือกแผ่นงานที่คุณต้องการย้ายแผนภูมิที่เลือกในตัวอย่างนี้ ฉันย้ายแผนภูมิไปยังแผ่นงานที่เรียกว่า "สรุป"
- คลิกตกลง
ขั้นตอนข้างต้นจะย้ายแผนภูมิที่เลือกจากแผ่นงานที่มีอยู่ไปยังแผ่นงานที่คุณเลือกในขั้นตอนที่ 5
ถ้าคุณต้องการย้ายแผนภูมินี้ไปยังแผ่นงานเปล่าใหม่ ก่อนอื่นคุณต้องเพิ่มแผ่นงานใหม่ จากนั้นทำซ้ำขั้นตอน (เพื่อให้ชื่อของแผ่นงานใหม่นี้แสดงในขั้นตอนที่ 5)
โปรดทราบว่าขั้นตอนข้างต้นจะลบแผนภูมิออกจากชีตต้นทางและย้ายไปยังชีตเป้าหมาย
ถ้าคุณต้องการเก็บแผนภูมิไว้ในแผ่นงานต้นฉบับและรับสำเนาของแผนภูมิในแผ่นงานใหม่ คุณต้องสร้างสำเนาของแผนภูมิก่อน (โดยใช้ตัวควบคุม C และตัวควบคุม V แบบธรรมดา) จากนั้นจึงย้ายแผนภูมิรายการใดรายการหนึ่งไปที่ ใบปลายทาง.
ย้ายแผนภูมิด้วยการคัดลอกวาง
อีกวิธีที่รวดเร็วมากในการย้ายแผนภูมิไปยังแผ่นงานใหม่คือการคัดลอกแผนภูมิแล้ววางลงในแผ่นงานใหม่
การทำเช่นนี้จะสร้างสำเนาของแผนภูมิในแผ่นงานใหม่ดังนั้น หากคุณต้องการย้ายแผนภูมิโดยสมบูรณ์โดยไม่ต้องวางในที่ที่มีข้อมูล คุณก็เพียงแค่เก็บสำเนาและลบแผนภูมิต้นฉบับ (หรือใช้การตัดแปะแทนการคัดลอกและวาง)
ต่อไปนี้เป็นขั้นตอนในการย้ายแผนภูมิโดยใช้การคัดลอกและวางอย่างง่าย:
- สร้างแผ่นงานใหม่ที่คุณต้องการย้ายแผนภูมิ (หากยังไม่ได้ดำเนินการ)
- เปิดใช้งานแผ่นงานด้วยแผนภูมิที่คุณต้องการย้าย
- คลิกขวาที่แผนภูมิแล้วเลือกคัดลอก (หรือเลือกแผนภูมิแล้วใช้ Control+C)
- ไปที่แผ่นงานที่คุณต้องการรับสำเนาของไดอะแกรม
- คลิกขวาและในตัวเลือกการวางแบบพิเศษ ให้คลิกไอคอน ใช้ธีมเป้าหมาย (หรือใช้แป้นพิมพ์ลัด Control + V เพื่อวาง)
ขั้นตอนข้างต้นจะสร้างสำเนาของแผนภูมิในแผ่นงานปัจจุบัน
ย้ายแผนภูมิไปยังตารางแผนภูมิใหม่
ถ้าคุณต้องการย้ายแผนภูมิเฉพาะลงในตารางแผนภูมิของตัวเอง (ซึ่งหมายถึงแผนภูมิเท่านั้น) คุณสามารถใช้ขั้นตอนต่อไปนี้:
- คลิกที่วัตถุแผนภูมิเพื่อย้ายไปยังแผ่นงานแผนภูมิใหม่
- คลิกแท็บการออกแบบแผนภูมิ
- ในกลุ่มสถานที่ตั้ง ให้คลิกไอคอนย้ายแผนภูมิ
- ในกล่องโต้ตอบ ย้ายแผนภูมิ ให้เลือก แผ่นงานใหม่
- ตั้งชื่อแผ่นงานที่คุณต้องการย้ายแผนภูมินี้ (หรือเก็บชื่อ Chart1 เริ่มต้นไว้)
- คลิกตกลง
ขั้นตอนข้างต้นจะลบแผนภูมิออกจากแผ่นงานปัจจุบัน สร้างแผ่นงานแผนภูมิใหม่ และย้ายแผนภูมิไปยังแผ่นงานแผนภูมิใหม่นี้
การปรับแต่งทั้งหมดที่คุณสามารถทำได้ด้วยวัตถุแผนภูมิสามารถทำได้ด้วยแผนภูมิในแผ่นงานแผนภูมิ (ยกเว้นการปรับขนาดและย้ายไปรอบๆ แผนภูมิ)
โปรดทราบว่าคุณยังสามารถย้ายแผนภูมิอื่นๆ ลงในตารางแผนภูมิที่แทรกใหม่ได้ แต่แผนภูมิที่คุณแทรกก่อนจะยังคงอยู่ในพื้นหลัง และแผนภูมิอื่นๆ ทั้งหมดจะถือเป็นวัตถุที่ลอยอยู่บนแผนภูมินั้น
ย้ายแผนภูมิทั้งหมดในสมุดงานไปยังแผ่นงานใหม่
แม้ว่าวิธีการย้ายแผนภูมิด้วยตนเองไปยังแผ่นงานอื่นหรือแผ่นงานแผนภูมิจะค่อนข้างตรงไปตรงมา แต่ก็อาจเป็นเรื่องที่น่าเบื่อหน่ายถ้าคุณมีแผนภูมิจำนวนมากที่จะย้าย
ลองนึกภาพแผ่นงาน 20 แผ่น โดยแต่ละแผ่นมีแผนภูมิที่คุณต้องการย้ายไปยังสรุปหรือแผ่นงานแดชบอร์ด
ในกรณีนี้ คุณสามารถใช้โค้ด VBA แบบง่ายเพื่อวนซ้ำในแผนภูมิทั้งหมดในเวิร์กบุ๊ก และย้ายแผนภูมิทั้งสองไปยังเวิร์กชีตที่ระบุ
ด้านล่างนี้คือโค้ด VBA สำหรับย้ายแผนภูมิทั้งหมดจากชีตทั้งหมดไปยังชีตเป้าหมายเดียว (ในตัวอย่างนี้คือชีตที่มี "แดชบอร์ด")
Sub MoveCharts() Dim chartObject As Object Dim SheetwithCharts As Worksheet For Each SheetwithCharts In Application.ActiveWorkbook.Worksheets If SheetwithCharts.Name <> "Dashboard" จากนั้น For Each chartObject In SheetwithCharts.ChartObjects chartObject.Chart.Location xlLocationAsObject, "Dashboard" Next chartObject จบถ้าถัดไป SheetwithCharts End Sub
ในโค้ดด้านบน ฉันฮาร์ดโค้ดชื่อชีตเป้าหมายเพื่อย้ายแผนภูมิไป (ชื่อชีตเป้าหมายที่ใช้คือ "แดชบอร์ด")
ถ้าคุณต้องการย้ายแผนภูมิเหล่านี้ไปยังเวิร์กชีตอื่น ให้แทนที่คำว่า Dashboard ด้วยชื่อของเวิร์กชีตนั้น
ต่อไปนี้เป็นขั้นตอนในการเรียกใช้โค้ดแมโคร VBA ใน Excel:
- คลิกแท็บ Developer ใน Ribbon (หากคุณไม่เห็นแท็บ Developer ให้อ่านคู่มือนี้เพื่อเปิดใช้งาน)
- คลิกไอคอน Visual Basicซึ่งจะเป็นการเปิดตัวแก้ไข VB
- ในตัวสำรวจโปรเจ็กต์ ให้เลือกออบเจ็กต์ของเวิร์กบุ๊กที่มีแผนภูมิ (หากคุณไม่เห็นตัวสำรวจโปรเจ็กต์ ให้คลิกตัวเลือก "ดู" ในเมนู จากนั้นคลิกตัวสำรวจโปรเจ็กต์)
- คลิกตัวเลือก แทรก ในเมนู จากนั้นคลิก โมดูลซึ่งจะแทรกโมดูลใหม่สำหรับสมุดงาน
- คัดลอกและวางโค้ดด้านบนลงในหน้าต่างโค้ดโมดูล (คุณสามารถเปิดหน้าต่างโค้ดโมดูลได้ทุกเมื่อโดยดับเบิลคลิกที่ชื่อโมดูลในตัวสำรวจโปรเจ็กต์)
- เลือกบรรทัดใดก็ได้ในรหัส
- กด F5 (หรือคลิกปุ่มเล่นสีเขียวในแถบเครื่องมือ)
ขั้นตอนข้างต้นจะย้ายแผนภูมิทั้งหมดจากแผ่นงานทั้งหมดในสมุดงานไปยังแผ่นงานชื่อ "แดชบอร์ด"
โค้ดทำงานอย่างไร - คำอธิบายง่ายๆ
โค้ดด้านบนใช้ลูป For Next เพื่อวนซ้ำในชีตทั้งหมดในเวิร์กบุ๊กจากนั้นจะใช้เงื่อนไข if เพื่อตรวจสอบว่าชื่อของแผ่นงานเป็น "แดชบอร์ด" หรือไม่
หากชื่อชีตคือ "แดชบอร์ด" จะไม่มีอะไรเกิดขึ้น หากไม่เป็นเช่นนั้น โค้ดจะวนซ้ำในแต่ละแผนภูมิในชีตนั้น (ซึ่งจะทำอีกครั้งด้วยลูป For Next)
จากนั้นย้ายแต่ละแผนภูมิในแผ่นงานไปยังแผ่นงานแดชบอร์ด (และลบออกจากแผ่นงานที่มีอยู่เดิม)
เคล็ดลับสำหรับมือโปร: ฉันขอแนะนำอย่างยิ่งให้คุณสร้างสำเนาของไฟล์ต้นฉบับก่อนที่จะเรียกใช้โค้ดนี้ (เนื่องจากการเปลี่ยนแปลงที่ทำโดยโค้ด VBA ไม่สามารถยกเลิกได้)
ดังนั้น คุณสามารถใช้วิธีง่ายๆ เหล่านี้ในการย้ายแผนภูมิไปยังแผ่นงานเฉพาะใดๆ (หรือแผ่นงานแผนภูมิใหม่) ในเวิร์กบุ๊กของคุณ
ฉันหวังว่าคุณจะพบว่าบทช่วยสอนนี้มีประโยชน์