Як видалити діаграми за допомогою vba (з прикладами)
Щоб видалити діаграми в Excel, у VBA можна використовувати такі методи:
Спосіб 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: як видалити файли