Excel VBA编程 典型实例——创建面积图表

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Excel VBA编程典型实例——创建面积图表

面积图表通常可以使用显示所绘制的值的总和,来表示部分与整体的关系。本例主要介绍在【代码】编辑窗口中,输入相应的VBA代码来完成面积图的创建过程。

1.练习要点

●插入模块

●使用VBA代码创建图表

2.操作步骤:

(1)新建一个空白工作簿,在Sheet1工作表中,创建如图17-17所示的“实验报告”表格。

创建表格

图17-17 创建表格

(2)选择【开发工具】选项卡,单击【代码】组中的VISUAL Basic按钮,即可进入VBE窗口,如图17-18所示。

单击

图17-18 进入VBE窗口

(3)右击【工程管理器】窗口的空白处,执行【插入】|【模块】命令,即可插入模块1,如图17-19所示。

执行

添加模块

图17-19 插入模块

(4)在【代码】编辑窗口中,输入如图17-20所示的代码。

输入

图17-20 输入代码

其中,输入的创建图表的代码如下:

Sub creatChart()

'定义变量

Dim x As Long

Dim y As Long

Dim n As Long

Dim startRow As Long

Dim maxRow As Long

Dim shapeWidth As Double

Dim shapeHeight As Double

Dim rowIndex As Long

Dim colIndex As Long

'获得总页数

countpages = ExecuteExcel4Macro("Get.Document(50)")

For n = 1 To countpages

startRow = 45 * (n - 1) + 11

maxRow = startRow + 11

'创建图表

ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlArea

'应用图表样式

ActiveChart.ChartStyle = 40

ActiveChart.ClearToMatchStyle

'修改图表属性

ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("B" & startRow & ":C" & maxRow & ",H" & startRow & ":I" & maxRow), _

PlotBy:=xlColumns

With ActiveChart

.HasTitle = True

.ChartTitle.Characters.Text = "体积流量曲线"

.Axes(xlCategory, xlPrimary).HasTitle = True

.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "注入孔隙体积倍数"

.Axes(xlValue, xlPrimary).HasTitle = True

.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "渗透率比值"

End With

With ActiveChart.Axes(xlCategory)

.HasMajorGridlines = True

.HasMinorGridlines = False

End With

With ActiveChart.Axes(xlValue)

.HasMajorGridlines = True

.HasMinorGridlines = False

End With

ActiveChart.HasLegend = False

'修改图表位置

shapeWidth = 0

shapeHeight = 300

rowIndex = 3

For colIndex = 1 To 9

shapeWidth = shapeWidth + ActiveSheet.Cells(rowIndex, colIndex).Width Next colIndex

ActiveSheet.Shapes(n).Left = ActiveSheet.Cells(45 * (n - 1) + 24, 1).Left

ActiveSheet.Shapes(n).Top = ActiveSheet.Cells(45 * (n - 1) + 24, 1).Top

ActiveSheet.Shapes(n).Width = shapeWidth

ActiveSheet.Shapes(n).Height = 300

'设置字体

ActiveSheet.ChartObjects(n).Activate

ActiveChart.ChartArea.Select

Selection.AutoScaleFont = True

With Selection.Font

.Name = "宋体"

.Size = 12

.Strikethrough = False

.Superscript = False

.Subscript = False

.OutlineFont = False

.Shadow = False

.Underline = xlUnderlineStyleNone

.ColorIndex = xlAutomatic

.Background = xlAutomatic

End With

ActiveChart.ChartTitle.Select

Selection.Font.Size = 18

Next n

Range("A1").Select

End Sub

(5)返回工作表中,单击【代码】组中的【宏】按钮。然后,在弹出的对话框中,选择要运行的宏名,并单击【执行】按钮,如图17-21所示。

单击

单击

相关文档
最新文档