Wykresy VBA - Przykłady dodawania wykresu za pomocą kodu VBA

Spisie treści

Wykresy Excel VBA

Wykresy można nazwać obiektami w VBA, podobnie jak w arkuszu roboczym możemy również wstawiać wykresy w VBA w ten sam sposób, najpierw wybieramy dane i typ wykresu, które chcemy dla danych, teraz są dwa różne typy wykresów, które zapewniamy to osadzony wykres, w którym wykres znajduje się w tym samym arkuszu danych, a inny jest znany jako arkusz wykresu, w którym wykres znajduje się w oddzielnym arkuszu danych.

W analizie danych efekty wizualne są kluczowymi wskaźnikami wydajności osoby, która przeprowadziła analizę. Materiały wizualne to najlepszy możliwy sposób, w jaki analityk może przekazać swoje przesłanie. Ponieważ wszyscy jesteśmy użytkownikami programu Excel, zwykle spędzamy znaczną ilość czasu na analizowaniu danych i wyciąganiu wniosków za pomocą liczb i wykresów. Tworzenie wykresów to sztuka do opanowania i mam nadzieję, że masz dobrą wiedzę na temat tworzenia wykresów w programie Excel. W tym artykule pokażemy, jak tworzyć wykresy za pomocą kodowania VBA.

Jak dodawać wykresy za pomocą kodu VBA w programie Excel?

# 1 - Utwórz wykres za pomocą kodowania VBA

Aby stworzyć dowolny wykres, powinniśmy mieć jakieś dane liczbowe. W tym przykładzie użyję poniższych przykładowych danych.

Ok, przejdźmy do edytora VBA.

Krok 1: Rozpocznij procedurę podrzędną.

Kod:

Sub Charts_Example1 () End Sub

Krok 2: Zdefiniuj zmienną jako Wykres.

Kod:

Sub Charts_Example1 () Dim MyChart As Chart End Sub

Krok 3: Ponieważ wykres jest zmienną obiektową, musimy ją ustawić .

Kod:

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add End Sub

Powyższy kod doda nowy arkusz jako arkusz wykresu, a nie jako arkusz roboczy.

Krok 4: Teraz musimy zaprojektować wykres. Otwórz za pomocą instrukcji.

Kod:

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart End With End Sub

Krok 5: Pierwszą rzeczą, jaką musimy zrobić z wykresem, jest ustawienie zakresu źródłowego, wybierając metodę „Ustaw dane źródłowe” .

Kod:

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData End With End Sub

Krok 6: Tutaj musimy wspomnieć o zakresie źródeł. W tym przypadku mój zakres źródłowy znajduje się w arkuszu o nazwie „Arkusz1”, a zakres to „A1 do B7”.

Kod:

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") End With End Sub

Krok 7: Następnie musimy wybrać rodzaj wykresu, który zamierzamy utworzyć. W tym celu musimy wybrać właściwość Typ wykresu .

Kod:

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = End With End Sub

Krok 8: Tutaj mamy różne wykresy. Mam zamiar wybrać wykres „ xlColumnClustered ”.

Kod:

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered End With End Sub

Ok, w tej chwili uruchommy kod klawiszem F5 lub ręcznie i zobaczmy, jak wygląda wykres.

Krok 9: Teraz zmień inne właściwości wykresu. Aby zmienić tytuł wykresu, poniżej znajduje się kod.

W ten sposób mamy wiele właściwości i metod z wykresami. Skorzystaj z każdego z nich, aby zobaczyć wpływ i uczyć się.

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered .ChartTitle.Text = "Wyniki sprzedaży" End With End Sub

# 2 - Utwórz wykres z tym samym arkuszem Excela co kształt

To create the chart with the same worksheet (datasheet) as shape, we need to use a different technique.

Step 1: First Declare threes Object Variables.

Code:

Sub Charts_Example2() Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object End Sub

Step 2: Then Set the Worksheet reference.

Code:

Sub Charts_Example2() Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets("Sheet1") End Sub

Step 3: Now set the range object in VBA

Code:

Sub Charts_Example2() Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets("Sheet1") Set Rng = Ws.Range("A1:B7") End Sub

Step 4: Now, set the chart object.

Code:

Sub Charts_Example2() Dim Ws As Worksheet Dim Rng As Range Dim MyChart As Object Set Ws = Worksheets("Sheet1") Set Rng = Ws.Range("A1:B7") Set MyChart = Ws.Shapes.AddChart2 End Sub

Step 5: Now, as usual, we can design the chart by using the “With” statement.

Code:

Sub Charts_Example2() Dim Ws As Worksheet 'To Hold Worksheet Reference Dim Rng As Range 'To Hold Range Reference in the Worksheet Dim MyChart As Object Set Ws = Worksheets("Sheet1") 'Now variable "Ws" is equal to the sheet "Sheet1" Set Rng = Ws.Range("A1:B7") 'Now variable "Rng" holds the range A1 to B7 in the sheet "Sheet1" Set MyChart = Ws.Shapes.AddChart2 'Chart will be added as Shape in the same worksheet With MyChart.Chart .SetSourceData Rng 'Since we already set the range of cells to be used for chart we have use RNG object here .ChartType = xlColumnClustered .ChartTitle.Text = "Sales Performance" End With End Sub

This will add the chart below.

#3 - Code to Loop through the Charts

Like how we look through sheets to change the name or insert values, hide & unhide them. Similarly, to loop through the charts, we need to use chart object property.

The below code will loop through all the charts in the worksheet.

Code:

Sub Chart_Loop() Dim MyChart As ChartObject For Each MyChart In ActiveSheet.ChartObjects 'Enter the code here Next MyChart End Sub

#4 - Alternative Method to Create Chart

We can use the below alternative method to create charts. We can use the Chart Object. Add method to create the chart below is the example code.

This will also create a chart like the previous method.

Code:

Sub Charts_Example3 () Dim Ws As Worksheet Dim Rng As Range Dim MyChart As ChartObject Set Ws = Worksheets ("Sheet1") Set Rng = Ws.Range ("A1: B7") Set MyChart = Ws.ChartObjects.Add (Left: = ActiveCell.Left, Width: = 400, Top: = ActiveCell.Top, Height: = 200) MyChart.Chart.SetSourceData Source: = Rng MyChart.Chart.ChartType = xlColumnStacked MyChart.Chart.ChartTitle.Text = "Wyniki sprzedaży" End Pod

Interesujące artykuły...