วิธีการลบแผนภูมิโดยใช้ 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: วิธีลบไฟล์

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

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