Hướng dẫn VBA cho Biểu đồ và Đồ thị

Mục lục

Biểu đồ và đồ thị trong Excel được sử dụng để hiển thị dữ liệu một cách trực quan. Trong hướng dẫn này, chúng ta sẽ trình bày cách sử dụng VBA để tạo và thao tác với biểu đồ và các phần tử biểu đồ.

Bạn có thể tạo các biểu đồ nhúng trong một trang tính hoặc các biểu đồ trên các trang biểu đồ của riêng chúng.

Tạo biểu đồ nhúng bằng VBA

Chúng tôi có phạm vi A1: B4 chứa dữ liệu nguồn, được hiển thị bên dưới:

Bạn có thể tạo biểu đồ bằng phương pháp ChartObjects.Add. Đoạn mã sau sẽ tạo một biểu đồ được nhúng trên trang tính:

12345678 Sub CreateEmbeddedChartUsingChartObject ()Làm mờ biểu đồ nhúng dưới dạng biểu đồĐặt nhúngchart = Trang tính ("Trang tính1"). ChartObjects.Add (Trái: = 180, Chiều rộng: = 300, Trên cùng: = 7, Chiều cao: = 200)nhúngchart.Chart.SetSourceData Nguồn: = Trang tính ("Trang tính1"). Phạm vi ("A1: B4")Kết thúc Sub

Kết quả là:

Bạn cũng có thể tạo biểu đồ bằng phương pháp Shapes.AddChart. Đoạn mã sau sẽ tạo một biểu đồ được nhúng trên trang tính:

12345678 Sub CreateEmbeddedChartUsingShapesAddChart ()Làm mờ biểu đồ nhúng dưới dạng hình dạngĐặt nhúngchart = Sheets ("Sheet1"). Shapes.AddChartnhúngchart.Chart.SetSourceData Nguồn: = Trang tính ("Trang tính1"). Phạm vi ("A1: B4")Kết thúc Sub

Chỉ định một loại biểu đồ bằng VBA

Chúng tôi có phạm vi A1: B5 chứa dữ liệu nguồn, được hiển thị bên dưới:

Bạn có thể chỉ định một loại biểu đồ bằng cách sử dụng Thuộc tính ChartType. Đoạn mã sau sẽ tạo biểu đồ hình tròn trên trang tính vì Thuộc tính ChartType đã được đặt thành xlPie:

123456789 Sub SpecifyAChartType ()Dim chrt As ChartObjectĐặt chrt = Sheets ("Sheet1"). ChartObjects.Add (Left: = 180, Width: = 270, Top: = 7, Height: = 210)chrt.Chart.SetSourceData Nguồn: = Sheets ("Sheet1"). Phạm vi ("A1: B5")chrt.Chart.ChartType = xlPieKết thúc Sub

Kết quả là:

Đây là một số loại biểu đồ phổ biến thường được chỉ định, mặc dù có những loại biểu đồ khác:

  • xlArea
  • xlPie
  • xlLine
  • xlRadar
  • xlXYScatter
  • xlSurface
  • xlBubble
  • xlBarClustered
  • xlColumnClustered

Thêm tiêu đề biểu đồ bằng VBA

Chúng tôi có một biểu đồ được chọn trong bảng tính như hình dưới đây:

Trước tiên, bạn phải thêm tiêu đề biểu đồ bằng phương pháp Chart.SetElement và sau đó chỉ định văn bản của tiêu đề biểu đồ bằng cách đặt thuộc tính ChartTitle.Text.

Đoạn mã sau cho bạn biết cách thêm tiêu đề biểu đồ và chỉ định văn bản của tiêu đề Biểu đồ hoạt động:

123456 Thêm phụAndSettingAChartTitle ()ActiveChart.SetElement (msoElementChartTitleAboveChart)ActiveChart.ChartTitle.Text = "Bán sản phẩm"Kết thúc Sub

Kết quả là:

Lưu ý: Bạn phải chọn biểu đồ trước để biến nó thành Biểu đồ Hoạt động để có thể sử dụng đối tượng ActiveChart trong mã của bạn.

Thay đổi màu nền biểu đồ bằng VBA

Chúng tôi có một biểu đồ được chọn trong bảng tính như hình dưới đây:

Bạn có thể thay đổi màu nền của toàn bộ biểu đồ bằng cách đặt thuộc tính RGB của đối tượng FillFormat của đối tượng ChartArea. Đoạn mã sau sẽ cung cấp cho biểu đồ màu nền cam nhạt:

12345 Thêm SubABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Format.Fill.ForeColor.RGB = RGB (253, 242, 227)Kết thúc Sub

Kết quả là:

Bạn cũng có thể thay đổi màu nền của toàn bộ biểu đồ bằng cách đặt thuộc tính ColorIndex của đối tượng Nội thất của đối tượng ChartArea. Đoạn mã sau sẽ cung cấp cho biểu đồ màu nền cam:

12345 Thêm SubABackgroundColorToTheChartArea ()ActiveChart.ChartArea.Interior.ColorIndex = 40Kết thúc Sub

Kết quả là:

Lưu ý: Thuộc tính ColorIndex cho phép bạn chỉ định màu dựa trên giá trị từ 1 đến 56, được vẽ từ bảng màu đặt trước, để xem giá trị nào đại diện cho các màu khác nhau, hãy nhấp vào đây.

Thay đổi màu khu vực lô biểu đồ bằng VBA

Chúng tôi có một biểu đồ được chọn trong bảng tính như hình dưới đây:

Bạn có thể thay đổi màu nền của chỉ vùng âm mưu của biểu đồ, bằng cách đặt thuộc tính RGB của đối tượng FillFormat của đối tượng PlotArea. Đoạn mã sau sẽ cung cấp cho khu vực biểu đồ màu nền xanh lục nhạt:

12345 Thêm SubABackgroundColorToThePlotArea ()ActiveChart.PlotArea.Format.Fill.ForeColor.RGB = RGB (208, 254, 202)Kết thúc Sub

Kết quả là:

Thêm chú giải bằng VBA

Chúng tôi có một biểu đồ được chọn trong trang tính, như được hiển thị bên dưới:

Bạn có thể thêm chú giải bằng phương thức Chart.SetElement. Đoạn mã sau thêm chú giải vào bên trái của biểu đồ:

12345 Thêm phụALegend ()ActiveChart.SetElement (msoElementLegendLeft)Kết thúc Sub

Kết quả là:

Bạn có thể chỉ định vị trí của chú giải theo những cách sau:

  • msoElementLegendLeft - hiển thị chú giải ở phía bên trái của biểu đồ.
  • msoElementLegendLeftOverlay - phủ chú giải ở bên trái của biểu đồ.
  • msoElementLegendRight - hiển thị chú giải ở phía bên phải của biểu đồ.
  • msoElementLegendRightOverlay - phủ chú giải ở phía bên phải của biểu đồ.
  • msoElementLegendBottom - hiển thị chú giải ở cuối biểu đồ.
  • msoElementLegendTop - hiển thị chú giải ở đầu biểu đồ.

Thêm nhãn dữ liệu bằng VBA

Chúng tôi có một biểu đồ được chọn trong trang tính, như được hiển thị bên dưới:

Bạn có thể thêm nhãn dữ liệu bằng phương thức Chart.SetElement. Đoạn mã sau thêm nhãn dữ liệu vào phần cuối bên trong của biểu đồ:

12345 Thêm SubADataLabels ()ActiveChart.SetElement msoElementDataLabelInsideEndKết thúc Sub

Kết quả là:

Bạn có thể chỉ định cách các nhãn dữ liệu được định vị theo những cách sau:

  • msoElementDataLabelShow - hiển thị nhãn dữ liệu.
  • msoElementDataLabelRight - hiển thị nhãn dữ liệu ở bên phải biểu đồ.
  • msoElementDataLabelLeft - hiển thị nhãn dữ liệu ở bên trái biểu đồ.
  • msoElementDataLabelTop - hiển thị nhãn dữ liệu ở đầu biểu đồ.
  • msoElementDataLabelBestFit - xác định sự phù hợp nhất.
  • msoElementDataLabelBottom - hiển thị nhãn dữ liệu ở cuối biểu đồ.
  • msoElementDataLabelCallout - hiển thị nhãn dữ liệu dưới dạng chú thích.
  • msoElementDataLabelCenter - hiển thị các nhãn dữ liệu trên trung tâm.
  • msoElementDataLabelInsideBase - hiển thị nhãn dữ liệu trên đế bên trong.
  • msoElementDataLabelOutSideEnd - hiển thị các nhãn dữ liệu ở phần cuối bên ngoài của biểu đồ.
  • msoElementDataLabelInsideEnd - hiển thị nhãn dữ liệu ở phần cuối bên trong của biểu đồ.

Thêm trục X và tiêu đề trong VBA

Chúng tôi có một biểu đồ được chọn trong trang tính, như được hiển thị bên dưới:

Bạn có thể thêm tiêu đề trục X và trục X bằng phương pháp Chart.SetElement. Đoạn mã sau thêm tiêu đề trục X và trục X vào biểu đồ:

123456789 Thêm phụAnXAxisandXTitle ()Với ActiveChart.SetElement msoElementPrimaryCategoryAxisShow.SetElement msoElementPrimaryCategoryAxisTitleHorizontalKết thúc vớiKết thúc Sub

Kết quả là:

Thêm trục Y và Tiêu đề trong VBA

Chúng tôi có một biểu đồ được chọn trong trang tính, như được hiển thị bên dưới:

Bạn có thể thêm tiêu đề trục Y và trục Y bằng phương pháp Chart.SetElement. Đoạn mã sau thêm tiêu đề trục Y và trục Y vào biểu đồ:

1234567 Thêm phụAYAxisandYTitle ()Với ActiveChart.SetElement msoElementPrimaryValueAxisShow.SetElement msoElementPrimaryValueAxisTitleHorizontalKết thúc vớiKết thúc Sub

Kết quả là:

Thay đổi định dạng số của một trục

Chúng tôi có một biểu đồ được chọn trong trang tính, như được hiển thị bên dưới:

Bạn có thể thay đổi định dạng số của một trục. Đoạn mã sau thay đổi định dạng số của trục y thành đơn vị tiền tệ:

12345 Thay đổi phụTheNumberFormat ()ActiveChart.Axes (xlValue) .TickLabels.NumberFormat = "$ #, ## 0.00"Kết thúc Sub

Kết quả là:

Thay đổi Định dạng Phông chữ trong Biểu đồ

Chúng tôi có biểu đồ sau được chọn trong bảng tính như hình dưới đây:

Bạn có thể thay đổi định dạng của toàn bộ phông chữ biểu đồ, bằng cách tham chiếu đến đối tượng phông chữ và thay đổi tên, trọng lượng phông chữ và kích thước của nó. Đoạn mã sau thay đổi loại, trọng lượng và kích thước phông chữ của toàn bộ biểu đồ.

12345678910 Thay đổi phụTheFontFormatting ()Với ActiveChart.ChartArea.Format.TextFrame2.TextRange.Font.Name = "Times New Roman".ChartArea.Format.TextFrame2.TextRange.Font.Bold = True.ChartArea.Format.TextFrame2.TextRange.Font.Size = 14Kết thúc với

Kết quả là:

Xóa biểu đồ bằng VBA

Chúng tôi có một biểu đồ được chọn trong trang tính, như được hiển thị bên dưới:

Chúng tôi có thể sử dụng mã sau để xóa biểu đồ này:

12345 Sub DeleteTheChart ()ActiveChart.Parent.DeleteKết thúc Sub

Tham khảo Bộ sưu tập ChartObjects

Bạn có thể truy cập tất cả các biểu đồ được nhúng trong trang tính hoặc sổ làm việc của mình bằng cách tham khảo bộ sưu tập ChartObjects. Chúng tôi có hai biểu đồ trên cùng một trang tính được hiển thị bên dưới:

Chúng tôi sẽ tham khảo bộ sưu tập ChartObjects để cung cấp cho cả hai biểu đồ trên trang tính có cùng chiều cao, chiều rộng, xóa các đường lưới, làm cho màu nền giống nhau, cung cấp cho các biểu đồ cùng màu với khu vực ô và làm cho màu của đường khu vực ô giống nhau màu sắc:

12345678910111213141516 Sub ReferenceToAllTheChartsOnASheet ()Dim cht As ChartObjectĐối với mỗi cht trong ActiveSheet.ChartObjectscht.Height = 144,85cht.Width = 246,61cht.Chart.Axes (xlValue) .MajorGridlines.Deletecht.Chart.PlotArea.Format.Fill.ForeColor.RGB = RGB (242, 242, 242)cht.Chart.ChartArea.Format.Fill.ForeColor.RGB = RGB (234, 234, 234)cht.Chart.PlotArea.Format.Line.ForeColor.RGB = RGB (18, 97, 172)Cht tiếp theoKết thúc Sub

Kết quả là:

Chèn một biểu đồ trên trang biểu đồ riêng của nó

Chúng tôi có phạm vi A1: B6 chứa dữ liệu nguồn, được hiển thị bên dưới:

Bạn có thể tạo biểu đồ bằng phương pháp Charts.Add. Đoạn mã sau sẽ tạo một biểu đồ trên trang biểu đồ của chính nó:

123456 Sub InsertingAChartOnItsOwnChartSheet ()Trang tính ("Trang 1"). Phạm vi ("A1: B6"). ChọnCharts.AddKết thúc Sub

Kết quả là:

Xem một số hướng dẫn vẽ biểu đồ khác của chúng tôi:

Biểu đồ trong Excel

Tạo biểu đồ thanh trong VBA

wave wave wave wave wave