Excel应用-使用VBA自动绘制所有适用类型的Excel图表(代码及效果图)
深夜,没有睡意。因为,再次发现VBA的魅力。
给出一组数据,如下:
可以绘制多少种Excel图表呢?
答案是以下70多种(Excel 2016实测):
这效果绝对炫酷,熬夜也值了。
以上Excel图表类型见下表,
VBA代码共享给有缘人:
Public Sub MonthlyCalc()Application.ScreenUpdating = False
'定义用于循环的整型变量
Dim Itemp As Integer
Dim ChartTypeArray() As Variant
Dim ChartCount As IntegerFor Itemp = 1 To 12'计算商品(甲)的销售额合计Cells(4, Itemp + 2) = Cells(2, Itemp + 2) * Cells(3, Itemp + 2)'计算商品(乙)的销售额合计Cells(7, Itemp + 2) = Cells(5, Itemp + 2) * Cells(6, Itemp + 2)'计算商品(丙)的销售额合计Cells(10, Itemp + 2) = Cells(8, Itemp + 2) * Cells(9, Itemp + 2)'计算三种商品总的销售额合计Cells(11, Itemp + 2) = Cells(4, Itemp + 2) + Cells(7, Itemp + 2) _+ Cells(10, Itemp + 2)Next Itemp'ChartTypeArray = Array(xlLineMarkers, xlLineMarkersStacked, xlLineMarkersStacked100)'ChartTypeArray = Array(63, 64, 65, 66, 67)'88, 89, 90, 91 excluded'ChartTypeArray = Array(-4169, -4151, -4120, -4102, -4101, -4100, -4098, 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)'ChartTypeArray = Array(92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112)ChartTypeArray = Array(-4169, -4151, -4120, -4102, -4101, -4100, -4098, 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)ChartCount = 1Do While (ChartCount <= (UBound(ChartTypeArray) + 1))'添加图表Charts.Add'定义图表类型ActiveChart.ChartType = ChartTypeArray(ChartCount - 1)'图表数据源ActiveChart.SetSourceData Source:=Sheets("chap5_2").Range( _"A1:N1,A4:N4,A7:N7,A10:N10"), PlotBy:=xlRows'设置图表添加的位置ActiveChart.Location Where:=xlLocationAsObject, Name:="charts2"With ActiveChart'使图表带有“标题”.HasTitle = True'设置图表“标题”.ChartTitle.Characters.Text = ChartTypeArray(ChartCount - 1) & "——月销售情况对比"'使图表带有X坐标标题'.Axes(xlCategory, xlPrimary).HasTitle = True'设置图表X坐标标题'.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "月份"'使图表带有Y坐标标题' .Axes(xlValue, xlPrimary).HasTitle = True'使图表带有Y坐标标题' .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "合计(元)"End WithWith ActiveChart.Parent' .Left = 10 + 368 * (ChartCount - 1) '此处用以修改图表在工作表中的位置' .Top = 200.Left = 10 + Int(ChartCount / 15) * 356 '此处用以修改图表在工作表中的位置If (ChartCount Mod 15 <> 0) Then.Top = 222 * (ChartCount Mod 15)Else.Top = 222End IfEnd WithChartCount = ChartCount + 1LoopApplication.ScreenUpdating = True
End Sub
Excel应用-使用VBA自动绘制所有适用类型的Excel图表(代码及效果图)相关推荐
- excel自带有vba手册吗_使用VAB打开Excel内置对话框
步骤2中"Application.Dialogs(1).Show"括号中的参数可以变化,根据参数的不同,运行程序之后会打开不同的Excel内置对话框,在此就不逐一示例了,常用参数对 ...
- excel下拉菜单自动匹配_自动将新项目添加到Excel数据验证下拉菜单
excel下拉菜单自动匹配 There's a sample Excel workbook on my Contextures website that uses a bit of Excel VBA ...
- asp导出EXCEL数字格式及自动适应宽度的问题
asp导出EXCEL数字格式及自动适应宽度的问题 下面直接进行代码演示: <% If Response.IsClientConnected Then Response.Flush Else Re ...
- php表格单元格怎么实现排序,excel表格数据怎么自动排列-excel表格如何实现自动排序...
excel表格如何实现自动排序 1.首先打excel表格,在第一个单中输入星期,如图所示. 2.在单元格下面的单元入星期一,鼠标放在星期一单元格的右下角. 3.完成以上步骤后,鼠标不放,即自动排序出现 ...
- 爬虫工具|输入浏览器header内容字符串,自动格式化为字典类型
背景 一般我们进行网络资源的爬取操作时,通常需要把浏览器中的request header的内容复制出来,放在脚本中进行操作. 通常我们是手动在每个key和value的两边都加上'',但是这种方法比较麻 ...
- vba 自动排序_Excel VBA如何入门?VBA教程 Excel教程 VBA学习 Excel新手课程
教程领到手,学习不用愁!领 ↑ ↑ ↑ 学习Excel,大家基本都知道去高手课学习哈. 精彩在后面!兴趣使然,以应用为导向,学以致用,学习效率更高!还记得高手课吗?高手课,一套免费精品教程解锁一门技能 ...
- Excel 用vba自动汇总实例
Excel 用vba自动汇总 需要安装 wps vba 开启插件 在WPS 开发工具选项宏安全性调到最低,用百度网盘(提取码:7896)下载解压后运行exe文件,安装成功后如下图. PS:安装包来源于 ...
- Excel·VBA自动生成日记账的对方科目
如图:根据日记账/序时账的日期.凭证号为一组,按借贷方向生成相反的科目,并写入H列.可能存在一对一.一对多.多对多等情况的账目 目录 数组法遍历.判断.写入 测试结果 多对多问题处理 测试结果 数组法 ...
- Excel VBA 自动添加新行并递增ID
Excel VBA 自动添加新行并递增ID 用Excel 2010的VBA功能来处理数据,主要根据IP网段和网段IP个数,来生成每个IP地址,并进行ID编号. Sub AutoInsert()Line ...
最新文章
- 字符串中子序列出现次数
- (转载)linux下输入输出重定向和管道符
- 很慌!一次惊心动魄的服务器误删文件的恢复过程
- python read函数菜鸟_关于python的菜鸟问题
- html 适配 android,Android 版本适配 6~11
- C# ADO.NET
- 第三百三十六章 斗宗强者间的大战!
- winform keydown 等待按下另外一个键_真是没想到,手机电源键还有4个隐藏技巧,今天算是学到了...
- Python 2.7的新特性
- 学校计算机教室自查报告,学校专用教室自查报告范文
- AirDisk HDD
- 耳机插入电脑的,耳机接口,却没有声音的 解决方法
- 音视频开发系列(6)视频码率,帧率和分辨率
- chmod 777 授权无效
- xbrowser连接Linux没有桌面,Windows下使用Xbrowser连接Centos 6.x自带的远程桌面
- 手机连不上电脑WIFI并且一直提示正在获取IP地址
- STM32F10×××系列的PC13、PC14、PC15引脚用作普通IO口配置方法
- css加载中,请稍后....demo示例(整理)
- FlinkSql中表的创建及查询
- 使用Android的Service实现后台定时检测并重启应用