VBA 차트 | VBA 코드를 사용하여 차트를 추가하는 예

Excel VBA 차트

차트는 VBA에서 개체로 명명 할 수 있습니다. 워크 시트와 유사하게 VBA에 같은 방식으로 차트를 삽입 할 수 있습니다. 먼저 데이터에 대해 원하는 데이터와 차트 유형을 선택합니다. 이제 하나를 제공하는 두 가지 유형의 차트가 있습니다. 차트가 동일한 데이터 시트에있는 포함 차트이고 다른 하나는 차트가 별도의 데이터 시트에있는 차트 시트로 알려져 있습니다.

데이터 분석에서 시각 효과는 분석을 수행 한 사람의 핵심 성과 지표입니다. 시각 자료는 분석가가 자신의 메시지를 전달할 수있는 최상의 방법입니다. 우리는 모두 뛰어난 사용자이기 때문에 일반적으로 데이터를 분석하고 숫자와 차트로 결론을 도출하는 데 상당한 시간을 소비합니다. 차트를 만드는 것은 마스터 할 수있는 예술이며 Excel로 차트를 만드는 데 대한 좋은 지식이 있기를 바랍니다. 이 기사에서는 VBA 코딩을 사용하여 차트를 만드는 방법을 보여줍니다.

Excel에서 VBA 코드를 사용하여 차트를 추가하는 방법은 무엇입니까?

이 VBA 차트 Excel 템플릿을 여기에서 다운로드 할 수 있습니다 – VBA 차트 Excel 템플릿

# 1 – VBA 코딩을 사용하여 차트 만들기

차트를 만들려면 일종의 숫자 데이터가 있어야합니다. 이 예에서는 아래 샘플 데이터를 사용하겠습니다.

좋습니다. VBA 편집기로 이동하겠습니다.

1 단계 : 하위 절차를 시작합니다.

암호:

 Sub Charts_Example1 () End Sub 

2 단계 : 변수를 차트로 정의합니다.

암호:

 Sub Charts_Example1 () Dim MyChart As Chart End Sub 

3 단계 : 차트는 개체 변수이므로 설정 해야합니다.

암호:

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

위의 코드는 새 시트를 워크 시트가 아닌 차트 시트로 추가합니다.

4 단계 : 이제 차트를 디자인해야합니다. Open With 문.

암호:

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

5 단계 :  차트에서 가장 먼저 해야 할 일은 "소스 데이터 설정" 방법 을 선택하여 소스 범위를 설정하는 것입니다.

암호:

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

6 단계 : 소스 범위를 언급해야합니다. 이 경우 내 소스 범위는 "Sheet1"이라는 시트에 있고 범위는 "A1-B7"입니다.

암호:

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

7 단계 : 다음으로 만들려는 차트 종류를 선택해야합니다. 이를 위해 차트 유형 속성 을 선택해야 합니다.

암호:

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

8 단계 : 여기에 다양한 차트가 있습니다. “ xlColumnClustered ”차트 를 선택 하겠습니다 .

암호:

 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 

이제 F5 키를 사용하거나 수동으로 코드를 실행하고 차트가 어떻게 보이는지 살펴 보겠습니다.

9 단계 : 이제 차트의 다른 속성을 변경합니다. 아래 차트 제목을 변경하려면 코드가 있습니다.

이와 같이 차트에는 많은 속성과 메서드가 있습니다. 그들 각각을 사용하여 영향을 확인하고 배우십시오.

 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 – 도형과 동일한 Excel 시트를 사용하여 차트 만들기

셰이프와 동일한 워크 시트 (데이터 시트)를 사용하여 차트를 만들려면 다른 기술을 사용해야합니다.

1 단계 : 먼저 threes 개체 변수를 선언합니다.

암호:

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

2 단계 : 그런 다음 워크 시트 참조를 설정합니다.

암호:

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

3 단계 : 이제 VBA에서 범위 개체 설정

암호:

 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 

4 단계 : 이제 차트 개체를 설정합니다.

암호:

 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 

5 단계 : 이제 평소처럼 "With"문을 사용하여 차트를 디자인 할 수 있습니다.

암호:

 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 = "Sales Performance" End Sub