加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

excel批量生成条形统计图

(2020-01-16 15:04:15)
分类: soft-excel
excel列标题
班序 姓名 语文 数学 英语 物理 化学 思品 历史 总分 班级
用法是生成统计图, 然后全部复制到word中, 刚好一页六个表格(适当调整下边距)
两个宏代码如下
Sub 批量生成成绩图表()
Dim myChart, Ra As ChartObject
Dim myFileName As String
Dim iii, jjj As Integer
With ActiveSheet
'先虚加一个图表对象,解决下文循环开头删除空集问题
Set myChart = .ChartObjects.Add(520, 40, 360, 250)
'取数据总行数,第一行为标题,最后一行为平均值
jjj = ActiveSheet.[b65536].End(xlUp).Row
'从第2行开始循环,i代表第几行
.ChartObjects.Delete
For iii = 2 To jjj
'清除原有图表
'颜色搭配8,35
'.指定图表位置和大小
Set myChart = .ChartObjects.Add(520, 0 + 250 * (iii - 2), 360, 250)
With myChart.Chart
'第一个数据系列,员工各项考核值
.ChartType = xlColumnClustered
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = ActiveSheet.Range("c1:i1")
'上面指定了横坐标的标签为第几列到几列
.SeriesCollection(1).Values = ActiveSheet.Range("c" & iii & ":i" & iii)
'上面指定了柱子数据的来源为第几列到几列
.SeriesCollection(1).Name = ActiveSheet.Range("j" & iii)
'上面指定了统计图右边的“标注”
'第二个数据序列,各项考核平均值,位于sheet最后一行
'.指定图表生成的位置
'.Location Where:=xlLocationAsObject, Name:="成绩图表"
'显示标签值
.ApplyDataLabels ShowValue:=True
'显示图表标题
.HasTitle = True
.ChartTitle.Text = ActiveSheet.Cells(iii, 2)
'.设置图表标题的字体
With .ChartTitle.Font
.Size = 20
.ColorIndex = 1
.Name = "华文新魏"
End With
'.设置图表区域的颜色
With .ChartArea.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
'.设置绘图区域的颜色
With .PlotArea.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
'.设置是否显示Y轴刻度
myChart.Chart.HasAxis(xlValue, xlPrimary) = True
Set myChart = ActiveSheet.ChartObjects(1).Chart
'使用第一列值命名图像,请勿重复
myFileName = ActiveSheet.Cells(iii, 2) & ".jpg"
On Error Resume Next
'.删除原有同名文件
Kill ThisWorkbook.Path & "\imgfile\" & myFileName
'.将图表转换为图像并输出到指定目录,使之与H列的值相对应
myChart.Export Filename:=ThisWorkbook.Path & "\imgfile\" & myFileName, Filtername:="JPG"
End With
'.清空对象
Set myChart = Nothing
Next iii
End With
End Sub

Sub 清除图表()
For Each r In ActiveSheet.ChartObjects
r.Delete
Next
End Sub


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有