Biểu đồ VBA - Ví dụ để thêm biểu đồ bằng mã VBA

Biểu đồ VBA trong Excel

Biểu đồ có thể được gọi là đối tượng trong VBA, tương tự như trang tính, chúng ta cũng có thể chèn biểu đồ trong VBA theo cách tương tự, trước tiên chúng ta chọn dữ liệu và loại biểu đồ mà chúng ta muốn lấy dữ liệu, bây giờ có hai loại biểu đồ khác nhau mà chúng tôi cung cấp một là biểu đồ nhúng trong đó biểu đồ nằm trong cùng một trang dữ liệu và một biểu đồ khác được gọi là trang biểu đồ trong đó biểu đồ nằm trong trang dữ liệu riêng biệt.

Trong phân tích dữ liệu, hiệu ứng hình ảnh là chỉ số hoạt động chính của người thực hiện phân tích. Hình ảnh là cách tốt nhất có thể mà một nhà phân tích có thể truyền tải thông điệp của mình. Vì tất cả chúng ta đều là người dùng excel, chúng ta thường dành một lượng thời gian đáng kể để phân tích dữ liệu và đưa ra kết luận bằng các con số và biểu đồ. Tạo biểu đồ là một nghệ thuật cần thành thạo và tôi hy vọng bạn có kiến ​​thức tốt về cách tạo biểu đồ bằng excel. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách tạo biểu đồ bằng mã hóa VBA.

Làm thế nào để Thêm Biểu đồ bằng Mã VBA trong Excel?

# 1 - Tạo Biểu đồ bằng Mã hóa VBA

Để tạo bất kỳ biểu đồ nào, chúng ta nên có một số loại dữ liệu số. Đối với ví dụ này, tôi sẽ sử dụng dữ liệu mẫu bên dưới.

Ok, hãy chuyển sang trình soạn thảo VBA.

Bước 1: Bắt đầu thủ tục phụ.

Mã:

Sub Charts_Example1 () End Sub

Bước 2: Xác định biến dưới dạng Biểu đồ.

Mã:

Sub Charts_Example1 () Dim MyChart As Chart End Sub

Bước 3: Vì biểu đồ là một biến đối tượng nên chúng ta cần Đặt nó.

Mã:

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts. Thêm End Sub

Đoạn mã trên sẽ thêm một trang tính mới dưới dạng trang biểu đồ, không phải dưới dạng trang tính.

Bước 4: Bây giờ, chúng ta cần thiết kế biểu đồ. Mở bằng Tuyên bố.

Mã:

Sub Charts_Example1 () Dim MyChart làm biểu đồ Đặt MyChart = Charts.Add With MyChart End With End Sub

Bước 5: Điều đầu tiên với biểu đồ chúng ta cần làm là Đặt phạm vi nguồn bằng cách chọn phương pháp “Đặt Dữ liệu Nguồn” .

Mã:

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

Bước 6: Ở đây, chúng ta cần đề cập đến dải nguồn. Trong trường hợp này, phạm vi nguồn của tôi nằm trong trang tính có tên "Sheet1" và phạm vi là "A1 đến B7".

Mã:

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

Bước 7: Tiếp theo, chúng ta cần chọn loại biểu đồ mà chúng ta sẽ tạo. Đối với điều này, chúng ta cần chọn thuộc tính Loại biểu đồ .

Mã:

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

Bước 8: Tại đây, chúng ta có nhiều loại biểu đồ. Tôi sẽ chọn biểu đồ “ xlColumnClustered ”.

Mã:

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, tại thời điểm này, hãy chạy mã bằng phím F5 hoặc theo cách thủ công và xem biểu đồ trông như thế nào.

Bước 9: Bây giờ, hãy thay đổi các thuộc tính khác của biểu đồ. Để thay đổi tiêu đề biểu đồ, dưới đây là mã.

Như thế này, chúng ta có nhiều thuộc tính và phương pháp với biểu đồ. Sử dụng từng thứ trong số chúng để xem tác động và học hỏi.

Sub Charts_Example1 () Dim MyChart As Chart Set MyChart = Charts.Add With MyChart .SetSourceData Sheets ("Sheet1"). Range ("A1: B7") .ChartType = xlColumnClustered .ChartTitle.Text = "Hiệu suất Bán hàng" Kết thúc Với Kết thúc Sub

# 2 - Tạo Biểu đồ với Trang tính Excel Giống như Hình dạng

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") Đặt Rng = Ws.Range ("A1: B7") Đặt MyChart = Ws.ChartObjects.Add (Trái: = ActiveCell.Left, Width: = 400, Top: = ActiveCell.Top, Height: = 200) MyChart.Chart.SetSourceData Nguồn: = Rng MyChart.Chart.ChartType = xlColumnStacked MyChart.Chart.ChartTitle.Text = "Hiệu suất Bán hàng" Kết thúc Phụ

thú vị bài viết...