วิธีการลบแผนภูมิโดยใช้ vba (พร้อมตัวอย่าง)
คุณสามารถใช้วิธีการต่อไปนี้ใน VBA เพื่อลบแผนภูมิใน Excel:
วิธีที่ 1: เอากราฟิกทั้งหมดออกจากแผ่นงานที่ใช้งานอยู่
Sub DeleteActiveSheetCharts()
ActiveSheet.ChartObjects.Delete
End Sub
มาโครนี้จะลบแผนภูมิทั้งหมดออกจากแผ่นงานที่ใช้งานอยู่ใน Excel
วิธีที่ 2: เอาแผนภูมิทั้งหมดออกจากสมุดงานทั้งหมด
Sub DeleteAllWorkbookCharts()
Dim wk As Worksheet
For Each wk In Worksheets
If wk.ChartObjects.Count > 0 Then
wk.ChartObjects.Delete
End If
Next wk
End Sub
มาโครนี้จะลบแผนภูมิทั้งหมดออกจากแต่ละแผ่นงานของสมุดงาน Excel ทั้งหมด
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: ลบกราฟิกทั้งหมดออกจากแผ่นงานที่ใช้งานอยู่
สมมติว่าเรามีแผ่นงาน Excel ต่อไปนี้ที่มีแผนภูมิสองแผนภูมิ:
เราสามารถสร้างมาโครต่อไปนี้เพื่อลบแผนภูมิทั้งหมดออกจากชีตนี้:
Sub DeleteActiveSheetCharts()
ActiveSheet.ChartObjects.Delete
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
โปรดทราบว่าแผนภูมิทั้งสองได้ถูกนำออกจากแผ่นงานแล้ว
ตัวอย่างที่ 2: ลบแผนภูมิทั้งหมดออกจากสมุดงานทั้งหมด
สมมติว่าเรามีแผ่นงานอีกแผ่นหนึ่งในสมุดงาน Excel ที่มีแผนภูมิอีกสองแผนภูมิ:
เราสามารถสร้างแมโครต่อไปนี้เพื่อลบกราฟิกทั้งหมดออกจากสมุดงานทั้งสองแผ่น:
Sub DeleteAllWorkbookCharts()
Dim wk As Worksheet
For Each wk In Worksheets
If wk.ChartObjects.Count > 0 Then
wk.ChartObjects.Delete
End If
Next wk
End Sub
เมื่อเรียกใช้งานมาโครนี้ กราฟิกทั้งหมดบนทั้งสองแผ่นจะถูกลบ:
โปรดทราบว่าในตัวอย่างนี้เราลบแผนภูมิออกจากแผ่นงานสองแผ่นเท่านั้น แต่มาโครนี้จะทำงานกับสมุดงาน Excel ที่มีจำนวนแผ่นงานเท่าใดก็ได้
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีลบแถวตามค่าของเซลล์
VBA: วิธีลบแผ่นงานหากชื่อมีข้อความเฉพาะ
VBA: วิธีลบไฟล์