VBA 语言 绘制柱状折线组合图对比数据

VBAamuwap 发布于 2 天前 3 次阅读


VBA【1】 绘制柱状折线组合图【2】对比数据【3】教程

VBA(Visual Basic for Applications)是Microsoft Office【4】系列【5】软件中的一种编程语言,它允许用户通过编写代码来自动化日常任务,提高工作效率。在Excel【6】中,VBA可以用来创建复杂的图表,如柱状折线组合图,以直观地对比数据。本文将详细介绍如何使用VBA来绘制柱状折线组合图,并通过实例【7】展示其应用。

准备工作

在开始之前,请确保您已经安装了Microsoft Office软件,并且熟悉Excel的基本操作。以下是我们将要使用的数据:


A B C
1 产品1 销售额 1000
2 产品2 销售额 1500
3 产品3 销售额 1200
4 产品4 销售额 1800
5 产品5 销售额 1600

步骤一:编写VBA代码

1. 打开Excel,按下 `Alt + F11` 打开VBA编辑器【8】
2. 在VBA编辑器中,右键点击“VBAProject (YourWorkbookName)”下的“Microsoft Excel Objects”,选择“Insert” -> “Module”来插入一个新模块【9】
3. 在新模块中,复制并粘贴以下代码:

```vba
Sub CreateCombinedChart()
Dim ws As Worksheet
Dim chartObj As ChartObject
Dim dataRange As Range
Dim categoriesRange As Range
Dim series1 As Series
Dim series2 As Series
Dim lastRow As Long

' 设置工作表【10】
Set ws = ThisWorkbook.Sheets("Sheet1")

' 确定数据范围【11】
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
Set dataRange = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, 3))
Set categoriesRange = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, 1))

' 创建图表对象
Set chartObj = ws.ChartObjects.Add(Left:=100, Width:=375, Top:=50, Height:=225)
With chartObj.Chart
' 设置图表标题
.ChartTitle.Text = "产品销售额对比图"
' 设置图表类型为组合图
.ChartType = xlLineMarkers
' 添加数据系列
Set series1 = .SeriesCollection.Add(dataRange, Type:=xlColumnClustered)
Set series2 = .SeriesCollection.Add(dataRange, Type:=xlLineMarkers)
' 设置数据系列名称
series1.Name = "销售额"
series2.Name = "销售额"
' 设置类别轴
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Text = "产品"
' 设置值轴
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Text = "销售额"
' 设置数据系列标签
series1.Labels.Position = xlLabelPositionOutsideEnd
series2.Labels.Position = xlLabelPositionOutsideEnd
' 设置数据系列颜色
series1.Color = RGB(255, 0, 0)
series2.Color = RGB(0, 0, 255)
' 设置数据系列线型
series2.LineWidth = 2
' 设置数据系列标记
series2.MarkerStyle = xlMarkerStyleCircle
' 设置数据系列标记大小
series2.MarkerSize = 6
' 设置数据系列标记颜色
series2.MarkerColor = RGB(0, 255, 0)
' 设置数据系列标记线型
series2.MarkerLine = xlLineTypeSolid
' 设置数据系列标记线颜色
series2.MarkerLineColor = RGB(255, 255, 0)
' 设置数据系列标记线宽度
series2.MarkerLineWidth = 1
' 设置数据系列标记线端点样式
series2.MarkerLineEnd = xlLineEndNone
' 设置数据系列标记线连接样式
series2.MarkerLineConnect = xlLineConnectNone
' 设置数据系列标记阴影
series2.MarkerShadow = xlMarkerShadowNone
' 设置数据系列标记透明度
series2.MarkerTransparency = 0
' 设置数据系列标记大小单位
series2.MarkerSizeUnit = xlPoints
' 设置数据系列标记大小比例
series2.MarkerSizePercent = 100
' 设置数据系列标记大小相对于轴的比例
series2.MarkerSizeRelative = False
' 设置数据系列标记大小相对于绘图区的比例
series2.MarkerSizePlot = False
' 设置数据系列标记大小相对于数据系列的比例
series2.MarkerSizeSeries = False
' 设置数据系列标记大小相对于数据点的比例
series2.MarkerSizePoint = False
' 设置数据系列标记大小相对于数据系列标记的比例
series2.MarkerSizeMarker = False
' 设置数据系列标记大小相对于数据系列标记的百分比
series2.MarkerSizeMarkerPercent = 100
' 设置数据系列标记大小相对于数据系列标记的固定值
series2.MarkerSizeMarkerFixed = 1
' 设置数据系列标记大小相对于数据系列标记的固定值单位
series2.MarkerSizeMarkerUnit = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例
series2.MarkerSizeMarkerPercentFixed = 100
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerPercentUnit = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据系列标记的固定值比例单位
series2.MarkerSizeMarkerUnitPercentUnitFixed = xlPoints
' 设置数据系列标记大小相对于数据