去年开发了一个小程序,可以一键生成所有类型的Excel图表。有网友留言求源码,今天决定分享出来。

效果:

代码:

Public Sub generateAllExcelCharts()Application.ScreenUpdating = False
'定义用于循环的整型变量
Dim ChartTypeArray() As Variant
Dim ChartCount As Integer
Dim ChartTypeName As StringChartTypeArray = Array(1, 4, 5, 15, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, _67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, _102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, -4169, -4151, -4120, -4102, -4101, -4100, -4098)ChartCount = 1Do While (ChartCount <= (UBound(ChartTypeArray) + 1))'添加图表Charts.Add'定义图表类型ActiveChart.ChartType = ChartTypeArray(ChartCount - 1)'图表数据源ActiveChart.SetSourceData Source:=Sheets("AllCharts").Range("B6:AK11"), PlotBy:=xlRows'设置图表添加的位置ActiveChart.Location Where:=xlLocationAsObject, Name:="AllCharts"With ActiveChart'使图表带有“标题”.HasTitle = True'设置图表“标题”Select Case .ChartType '根据图表类型代码,获取其对应的中文名称Case 1ChartTypeName = "面积图"Case 4ChartTypeName = "折线图"Case 5ChartTypeName = "饼图"Case 15ChartTypeName = "气泡图"Case 51ChartTypeName = "簇状柱形图"Case 52ChartTypeName = "堆积柱形图"Case 53ChartTypeName = "百分比堆积柱形图"Case 54ChartTypeName = "三维簇状柱形图"Case 55ChartTypeName = "三维堆积柱形图"Case 56ChartTypeName = "三维百分比堆积柱形图"Case 57ChartTypeName = "簇状条形图"Case 58ChartTypeName = "堆积条形图"Case 59ChartTypeName = "百分比堆积条形图"Case 60ChartTypeName = "三维簇状条形图"Case 61ChartTypeName = "三维堆积条形图"Case 62ChartTypeName = "三维百分比堆积条形图"Case 63ChartTypeName = "堆积折线图"Case 64ChartTypeName = "百分比堆积折线图"Case 65ChartTypeName = "数据点折线图"Case 66ChartTypeName = "堆积数据点折线图"Case 67ChartTypeName = "百分比堆积数据点折线图"Case 68ChartTypeName = "复合饼图"Case 69ChartTypeName = "分离型饼图"Case 70ChartTypeName = "分离型三维饼图"Case 71ChartTypeName = "复合条饼图"Case 72ChartTypeName = "平滑线散点图"Case 73ChartTypeName = "无数据点平滑线散点图"Case 74ChartTypeName = "折线散点图"Case 75ChartTypeName = "无数据点折线散点图"Case 76ChartTypeName = "堆积面积图"Case 77ChartTypeName = "百分比堆积面积图"Case 78ChartTypeName = "三维堆积面积图"Case 79ChartTypeName = "百分比堆积面积图"Case 80ChartTypeName = "分离型圆环图"Case 81ChartTypeName = "数据点雷达图"Case 82ChartTypeName = "填充雷达图"Case 83ChartTypeName = "三维曲面图"Case 84ChartTypeName = "三维曲面图(框架图)"Case 85ChartTypeName = "曲面图(俯视图)"Case 86ChartTypeName = "曲面图(俯视框架图)"Case 87ChartTypeName = "三维气泡图"Case 88ChartTypeName = "盘高-盘低-收盘图"Case 89ChartTypeName = "开盘-盘高-盘低-收盘图"Case 90ChartTypeName = "成交量-盘高-盘低-收盘图"Case 91ChartTypeName = "成交量-开盘-盘高-盘低-收盘图"Case 92ChartTypeName = "簇状柱形圆锥图"Case 93ChartTypeName = "堆积柱形圆锥图"Case 94ChartTypeName = "百分比堆积柱形圆柱图"Case 95ChartTypeName = "簇状条形圆柱图"Case 96ChartTypeName = "堆积条形圆柱图"Case 97ChartTypeName = "百分比堆积条形圆柱图"Case 98ChartTypeName = "三维柱形圆柱图"Case 99ChartTypeName = "簇状柱形圆锥图"Case 100ChartTypeName = "堆积柱形圆锥图"Case 101ChartTypeName = "百分比堆积柱形圆锥图"Case 102ChartTypeName = "簇状条形圆锥图"Case 103ChartTypeName = "堆积条形圆锥图"Case 104ChartTypeName = "百分比堆积条形圆锥图"Case 105ChartTypeName = "三维柱形圆锥图"Case 106ChartTypeName = "簇状柱形棱锥图"Case 107ChartTypeName = "堆积柱形棱锥图"Case 108ChartTypeName = "百分比堆积柱形棱锥图"Case 109ChartTypeName = "簇状条形棱锥图"Case 110ChartTypeName = "堆积条形棱锥图"Case 111ChartTypeName = "百分比堆积条形棱锥图"Case 112ChartTypeName = "三维柱形棱锥图"Case -4169ChartTypeName = "散点图"Case -4151ChartTypeName = "雷达图"Case -4120ChartTypeName = "圆环图"Case -4102ChartTypeName = "三维饼图"Case -4101ChartTypeName = "三维折线图"Case -4100ChartTypeName = "三维柱形图"Case -4098ChartTypeName = "三维面积图"End Select.ChartTitle.Characters.Text = "GDP—" & ChartTypeName & "(" & ChartTypeArray(ChartCount - 1) & ")" '设置图表标题If .FullSeriesCollection.Count = 5 Then '2011年至2015年共5个数据系列,分别命名以提高图表的可读性.FullSeriesCollection(1).Name = "2015年".FullSeriesCollection(2).Name = "2014年".FullSeriesCollection(3).Name = "2013年".FullSeriesCollection(4).Name = "2012年".FullSeriesCollection(5).Name = "2011年"End IfIf .FullSeriesCollection.Count = 3 Then  '气泡图仅显示3个系列的数据.FullSeriesCollection(1).Name = "2015年".FullSeriesCollection(2).Name = "2014年".FullSeriesCollection(3).Name = "2013年"End IfEnd WithWith ActiveChart.ParentIf ((ChartCount Mod 3) <> 0) Then   '每张图的高度为222磅,每输出3张图表后,下一图表左上角向下偏移222磅.Top = 222 * (Int(ChartCount / 3) + 1)Else.Top = 222 * (ChartCount / 3)End IfIf ((ChartCount Mod 3) <> 0) Then   '每张图的高度为222磅,每输出3张图表后,下一图表左上角向右偏移356磅.Left = 10 + ((ChartCount Mod 3) - 1) * 356Else.Left = 10 + 2 * 356End IfEnd WithDebug.Print ChartCount & ActiveChart.ChartType & "-" & ChartTypeName & "->"ChartCount = ChartCount + 1LoopDebug.Print "共生成图表" & (ChartCount - 1)Application.ScreenUpdating = True
End Sub

学以致用——一键生成所有Excel图表类型 (Generate all Excel graphs with one click)相关推荐

  1. Excel图表类型的修改技巧

    一. 修改图表的类型 当图表创建完成以后,如果需要修改图表的类型,直接调用"图表类型"命令即可. 1. 打开"修改图表类型(原始文件)"工作薄文件,进入&quo ...

  2. 在Excel中更改默认图表类型

    On July 25th I announced a giveaway for Jon Peltier's amazing Chart Utility, and thanks for all the ...

  3. Excel的图表:组成元素、图表类型与用途、图表可视化大全

    文章目录 一.Excel组成元素 二.Excel图表类型与用途 三.Excel可视化大全-应用 1.饼状图 2.折线图 3.条形图 4.对称图表比较两公司 5.散点图 6.气泡图 7.雷达图 8.组合 ...

  4. Excel应用-使用VBA自动绘制所有适用类型的Excel图表(代码及效果图)

    深夜,没有睡意.因为,再次发现VBA的魅力. 给出一组数据,如下: 可以绘制多少种Excel图表呢? 答案是以下70多种(Excel 2016实测): 这效果绝对炫酷,熬夜也值了. 以上Excel图表 ...

  5. 制作杂志级图表的第三步:突破excel的图表类型

    杂志级图表的第三步:突破excel的图表类型 今天要说的这一点其实很简单,单独写是因为逻辑上的原因. 很多人做图表都是用excel的图表向导,使用已有的图表类型,如果excel的标准类型和自定义类型中 ...

  6. 图表嵌入到数据表格下方_在excel图表下方添加数据表 excel图表添加数据表

    在excel图表下方添加数据表 excel图表添加数据表,前天刚学习了一个excel的新技术,叫"excel图表添加数据表"授课老师对我们说,这一技术的专业全称为"在ex ...

  7. 图表嵌入到数据表格下方_如何在excel图表下方添加数据表 如何在excel图表中显示数值...

    我们都知道excel图表是不包含excel数据表的详细数据的,如果我们想要在excel图表中看到具体的数据,我们可以在excel图表下方添加数据表,方便我们在看excel图表的时候可以直接看到具体数据 ...

  8. Spire.XLS 图表系列教程:C# 如何不使用工作数据创建Excel图表以及Excel雷达图

    更多资源查看:Spire.XLS工作表教程 | Spire.Doc系列教程 | Spire.PDF系列教程 [下载Spire.XLS最新试用版] Spire.XLS for .NET 是一款专业的 . ...

  9. Excel图表美化及样式设置教程

    EXCEL图表一直是学习EXCEL程序的重点,图表的作用直观的显示数据,今天通过一个柱形图美化的实例为同学们进行讲解.图表美化的重要知识点有"预设图表样式进行美化"."自 ...

最新文章

  1. 并发编程实战:取消和关闭
  2. 怎么区分五类线、超五类线和六类线
  3. java中的基本数据类型(四类八种)
  4. python deepcopy函数_用Python解数独[6]:递归获得最终答案
  5. 不敢下水游泳,莫慌!VR带你畅游水底世界
  6. IDEA 不愧为神器,结合 Groovy 脚本,简直无敌!
  7. python爬虫实时转发文章新闻;微信机器人使用;
  8. 好用的安卓手机投屏电脑软件
  9. 小程序发送公众号模板消息+PHP后台
  10. FPGA源同步时钟输出
  11. P1251 餐巾计划问题
  12. LapSRN tensorflow版本环境配置
  13. Cannot find module lint-staged 解决办法
  14. UVALive Problem 7456 Least Crucial Node——Regionals 2015 :: Asia - Taipei
  15. 透过细节看日本(转)
  16. 英雄联盟7月23日维修服务器,LOL7月23日更新维护结束时间 7月23日什么时候可以上线 LOL7月23日更新维护内容_蚕豆网新闻...
  17. 关于ELF格式文件里面的调试信息解读
  18. 使用NPOI按照word模板文件生成新的word文件
  19. 03-元素定位-基本
  20. 902绿幽灵802绿钻(绿精灵)全部冠号

热门文章

  1. 【SFML 贪吃蛇】 FDU_OOP 大作业报告
  2. 同事多线程使用不当导致OOM,被我怼了一顿
  3. 微信公众号订阅号与服务号的区别
  4. JS清除定时器失败,清除单个定时器(有多个定时器时)
  5. Python爬取网易新闻,就是这么简单!
  6. Excel如何在文字中插入函数
  7. JavaScript 截取数组
  8. idea中使用yml连接数据库Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  9. fget 和 gets之间的区别
  10. MySQL Out-of-Band 攻击