Grafy VBA | Příklady přidání grafu pomocí kódu VBA

Excel VBA grafy

Grafy lze označit jako objekty ve VBA, podobně jako v listu můžeme grafy také vložit do VBA stejným způsobem, nejprve vybereme data a typ grafu, který chceme pro out data, nyní existují dva různé typy grafů, které poskytujeme jeden je graf vložení, kde je graf ve stejném listu dat a další je známý jako list grafu, kde je graf v samostatném listu dat.

V analýze dat jsou vizuální efekty klíčovými ukazateli výkonu osoby, která provedla analýzu. Vizuály jsou nejlepším možným způsobem, jakým analytik může předat své poselství. Jelikož jsme všichni uživatelé aplikace Excel, obvykle věnujeme značné množství času analýze dat a vyvozujeme závěry pomocí čísel a grafů. Vytvoření grafu je umění zvládnout a doufám, že máte dobré znalosti o vytváření grafů v aplikaci Excel. V tomto článku vám ukážeme, jak vytvořit grafy pomocí kódování VBA.

Jak přidat grafy pomocí kódu VBA v aplikaci Excel?

Tuto šablonu VBA Charts Excel můžete stáhnout zde - Šablona VBA Charts Excel

# 1 - Vytvoření grafu pomocí kódování VBA

K vytvoření libovolného grafu bychom měli mít nějaký číselný údaj. V tomto příkladu použiji níže uvedená ukázková data.

Dobře, přeskočme na editor VBA.

Krok 1: Spusťte dílčí postup.

Kód:

 Sub Charts_Example1 () End Sub 

Krok 2: Definujte proměnnou jako graf.

Kód:

 Sub Charts_Example1 () Dim MyChart jako graf End Sub 

Krok 3: Jelikož je graf objektovou proměnnou, musíme ji nastavit .

Kód:

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

Výše uvedený kód přidá nový list jako list s grafem, nikoli jako list.

Krok 4: Nyní musíme navrhnout graf. Otevřít s prohlášením.

Kód:

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

Krok 5: První  věcí v grafu, kterou musíme udělat, je nastavit rozsah zdroje výběrem metody „Nastavit zdrojová data“ .

Kód:

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

Krok 6: Zde musíme zmínit rozsah zdroje. V tomto případě je můj zdrojový rozsah v listu s názvem „List1“ a rozsah je „A1 až B7“.

Kód:

 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: Další krok musíme vybrat druh grafu, který budeme vytvářet. K tomu musíme vybrat vlastnost Typ grafu .

Kód:

 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: Zde máme řadu grafů. Vyberu graf „ xlColumnClustered “.

Kód:

 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, v tuto chvíli spustíme kód pomocí klávesy F5 nebo ručně a podívejme se, jak vypadá graf.

Krok 9: Nyní změňte další vlastnosti grafu. Chcete-li změnit níže uvedený název grafu, je to kód.

Takto máme mnoho vlastností a metod s grafy. Pomocí každého z nich uvidíte dopad a poučíte se.

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

# 2 - Vytvořte graf se stejným listem Excel jako tvar

Chcete-li vytvořit graf se stejným listem (datovým listem) jako tvar, musíme použít jinou techniku.

Krok 1: Nejprve deklarujte tři objektové proměnné.

Kód:

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

Krok 2: Poté nastavte odkaz na pracovní list.

Kód:

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

Krok 3: Nyní nastavte objekt rozsahu ve VBA

Kód:

 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 

Krok 4: Nyní nastavte objekt grafu.

Kód:

 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 

Krok 5: Nyní, jako obvykle, můžeme graf navrhnout pomocí příkazu „With“.

Kód:

 Dílčí grafy_Example2 () Dim Ws jako list 'Uchovat odkaz na list Dim Rng jako rozsah' Uchovat odkaz na rozsah v listu Dim MyChart jako sada objektů Ws = Listy ("List1") 'Nyní proměnná "Ws" se rovná listu " List1 "Set Rng = Ws.Range (" A1: B7 ") 'Nyní proměnná" Rng "obsahuje rozsah A1 až B7 v listu" List1 "Set MyChart = Ws.Shapes.AddChart2' graf bude přidán jako Shape do stejný list s MyChart.Chart .SetSourceData Rng 'Protože jsme již nastavili rozsah buněk, které mají být použity pro graf, použijeme zde objekt RNG .ChartType = xlColumnClustered .ChartTitle.Text = "Výkon prodeje" End With End Sub 

Tím se přidá níže uvedený graf.

# 3 - Kód pro smyčku v grafech

Líbí se nám, jak procházíme listy, abychom změnili název nebo vložili hodnoty, skryli a odkryli je. Podobně, jak procházet grafy, musíme použít vlastnost objektu grafu.

Níže uvedený kód bude procházet všemi grafy v listu.

Kód:

 Sub Chart_Loop () Dim MyChart As ChartObject For each MyChart In ActiveSheet.ChartObjects 'Sem zadejte kód Další MyChart End Sub 

# 4 - Alternativní metoda vytváření grafu

K vytvoření grafů můžeme použít níže uvedenou alternativní metodu. Můžeme použít objekt grafu. Příkladem postupu je přidání metody pro vytvoření níže uvedeného grafu.

Tím se také vytvoří graf jako předchozí metoda.

Kód:

 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, Šířka: = 400, Nahoře: = ActiveCell.Top, Výška: = 200) MyChart.Chart.SetSourceData Zdroj: = Rng MyChart.Chart.ChartType = xlColumnStacked MyChart.Chart.ChartTitle.Text = "Výkon prodeje" Konec Sub 

$config[zx-auto] not found$config[zx-overlay] not found