VB实现自动生成统计图表

Posted xqtesting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB实现自动生成统计图表相关的知识,希望对你有一定的参考价值。

点击链接加入QQ群 522720170(免费公开课、视频应有尽有):https://jq.qq.com/?_wv=1027&k=5C08ATe

 

方案主要解决如何通过按钮一次完成实现

表格自动生成统计图表。

使用对象

需要统计出各种直方图、饼图、趋势图需要的人员。

功能概述

1.自动选择表格,自动化生成统计图表。

2.自动设置图表式样、格式

3.设置按钮,满足‘一键完成统计图表’

主要功能界面

技术分享图片

图1

技术分享图片

图2

方案优势

优势1:扩展了TD REQUIREMENT功能,提供具体需求-用例覆盖数值(覆盖率)。

优势2:便于需求管理,实时评估测试用例是否符合标准“100%覆盖产品需求”。

优势3:增加字段,符合项目需求列表特性。

方案配置

1. 原始表格

以TD数据库定期导出的‘History_bug.xls’为例

技术分享图片

表2

2.在EXCEL调用VB,实现筛选Reopen记录的功能

效果图:

技术分享图片

表3

附:VB编码

Sub MacroName()

‘ MacroName Macro

‘ 快捷键: Ctrl+a

Columns("G:G").Select

ActiveCell.FormulaR1C1 = "=VLOOKUP(""Reopen"",History_bug!$A$2:$G$2000,7,False)"

//添加筛选公式

End Sub

3通过一键‘按钮1’,自动生成报告图表。

例如

技术分享图片

表-4

效果图:

技术分享图片

图-3

附:VB 源码

Sub MacroName()

‘ MacroName Macro

‘ 要求饼图中显示内容和比率

‘ 快捷键: Ctrl+a

Range("A1:A13,B1:B13").Select //定义列表范围

Range("B1").Activate //调用Excel插入图表功能

ActiveSheet.Shapes.AddChart.Select

ActiveChart.SetSourceData Source:=Range( _

"‘Sheet1‘!$A$1:$A$13,‘Sheet1‘!$B$1:$B$13")

ActiveChart.ChartType = xlPie //调用图表中的饼图功能

ActiveChart.ApplyLayout (1) //饼图设计

ActiveChart.ChartStyle = 26 //饼图格式

ActiveChart.ClearToMatchStyle

End Sub

4.如果考虑全量考量数据,既有总量/分项数值,又具有百分比,可以使用条状图表示。

附:VB 源码

Sub Macro Name()

‘ MacroName Macro

‘ 条状图比率,且无设置数据标签

‘ 快捷键: Ctrl+a

Range("A1:C8").Select //定义列表范围

ActiveSheet.Shapes.AddChart.Select //选择插入图表

ActiveChart.SetSourceData Source:=Range("‘Sheet1‘!$A$1:$C$8")

ActiveChart.ChartType = xlBarStacked100 //调用图表中的条状图

ActiveChart.ApplyLayout (1)

ActiveChart.Axes(xlValue).Select //打开横轴x轴编辑框

ActiveChart.Axes(xlValue).MajorUnit = 0.1

ActiveChart.Axes(xlValue).MajorUnit = 0.02 //定义横轴的刻度

ActiveSheet.ChartObjects("图表 1").Activate

Application.Left = 82.75 //图表左右长度

Application.Top = 15 //图表上下宽度

End Sub

5.如果需要条状图分别显示内容和比率(即含有设置数据标签)。

例如:

技术分享图片

表-5

效果图:

技术分享图片

图-4

附:VB 源码

Sub Macro Name()

‘ MacroName Macro

‘要求条状图中显示内容和比率

‘ 快捷键: Ctrl+a

Range("A1:C8").Select //定义表格范围例如上图

ActiveSheet.Shapes.AddChart.Select //选择插入图表

ActiveChart.SetSourceData Source:=Range("‘Sheet1‘!$A$1:$C$8")//

ActiveChart.ChartType = xlBarStacked100 //调用图表中的条状图

ActiveChart.ApplyLayout (1) //选择格式

ActiveChart.ChartStyle = 26 //选择式样

ActiveChart.ClearToMatchStyle

ActiveChart.Axes(xlValue).Select //打开X轴编辑框

ActiveChart.Axes(xlValue).MajorUnit = 0.2 //X轴默认坐标值

ActiveChart.Axes(xlValue).MajorUnit = 0.02 //定义X轴坐标值

ActiveSheet.ChartObjects("图表 1").Activate //选择生成的图表

ActiveChart.SeriesCollection(1).Select

ActiveChart.SeriesCollection(1).ApplyDataLabels //打开设置数据标签格式

ActiveChart.SeriesCollection(2).Select

ActiveChart.SeriesCollection(2).ApplyDataLabels //打开设置数据标签格式

ActiveWindow.ScrollColumn = 2

ActiveWindow.ScrollColumn = 1

ActiveSheet.ChartObjects("图表 1").Activate //选择生成的图表

Application.Left = 82.75 //图表左右长度

Application.Top = 15 //图表上下宽度

End Sub

技术分享图片

以上是关于VB实现自动生成统计图表的主要内容,如果未能解决你的问题,请参考以下文章

.net 用NPOI 方式导出EXCEL ,如果自动生成相应的统计图表

快捷简易统计图表模型设计与实现

分享一个开源的JavaScript统计图表库,40行代码实现专业统计图表

Axure系列教程(十一):HighCharts设计统计图表

JavaScript统计图表插件 Echarts

单独图表组件的开发---商家销售统计(横向柱状图)