Jak usunąć wykresy za pomocą vba (z przykładami)


Aby usunąć wykresy w Excelu, możesz użyć następujących metod w VBA:

Metoda 1: Usuń całą grafikę z aktywnego arkusza

 Sub DeleteActiveSheetCharts()
ActiveSheet.ChartObjects.Delete
End Sub

To konkretne makro usunie wszystkie wykresy z aktualnie aktywnego arkusza w programie Excel.

Metoda 2: Usuń wszystkie wykresy z całego skoroszytu

 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

To konkretne makro usunie wszystkie wykresy z każdego arkusza całego skoroszytu programu Excel.

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.

Przykład 1: Usuń całą grafikę z aktywnego arkusza

Załóżmy, że mamy następujący arkusz Excela zawierający dwa wykresy:

Możemy utworzyć następujące makro, aby usunąć wszystkie wykresy z tego arkusza:

 Sub DeleteActiveSheetCharts()
ActiveSheet.ChartObjects.Delete
End Sub

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Należy pamiętać, że oba wykresy zostały usunięte z arkusza.

Przykład 2: Usuń wszystkie wykresy z całego skoroszytu

Załóżmy, że mamy inny arkusz w skoroszycie programu Excel zawierający dwa dodatkowe wykresy:

Możemy utworzyć następujące makro, aby usunąć całą grafikę z obu arkuszy skoroszytu:

 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

Po wykonaniu tego makra cała grafika na obu arkuszach zostanie usunięta:

Zwróć uwagę, że w tym przykładzie usunęliśmy wykresy tylko z dwóch arkuszy, ale to makro będzie działać ze skoroszytem programu Excel, który ma dowolną liczbę arkuszy.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak usuwać wiersze na podstawie wartości komórki
VBA: Jak usunąć arkusz, jeśli nazwa zawiera określony tekst
VBA: jak usunąć pliki

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *