深夜,没有睡意。因为,再次发现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图表(代码及效果图)相关推荐

  1. excel自带有vba手册吗_使用VAB打开Excel内置对话框

    步骤2中"Application.Dialogs(1).Show"括号中的参数可以变化,根据参数的不同,运行程序之后会打开不同的Excel内置对话框,在此就不逐一示例了,常用参数对 ...

  2. excel下拉菜单自动匹配_自动将新项目添加到Excel数据验证下拉菜单

    excel下拉菜单自动匹配 There's a sample Excel workbook on my Contextures website that uses a bit of Excel VBA ...

  3. asp导出EXCEL数字格式及自动适应宽度的问题

    asp导出EXCEL数字格式及自动适应宽度的问题 下面直接进行代码演示: <% If Response.IsClientConnected Then Response.Flush Else Re ...

  4. php表格单元格怎么实现排序,excel表格数据怎么自动排列-excel表格如何实现自动排序...

    excel表格如何实现自动排序 1.首先打excel表格,在第一个单中输入星期,如图所示. 2.在单元格下面的单元入星期一,鼠标放在星期一单元格的右下角. 3.完成以上步骤后,鼠标不放,即自动排序出现 ...

  5. 爬虫工具|输入浏览器header内容字符串,自动格式化为字典类型

    背景 一般我们进行网络资源的爬取操作时,通常需要把浏览器中的request header的内容复制出来,放在脚本中进行操作. 通常我们是手动在每个key和value的两边都加上'',但是这种方法比较麻 ...

  6. vba 自动排序_Excel VBA如何入门?VBA教程 Excel教程 VBA学习 Excel新手课程

    教程领到手,学习不用愁!领 ↑ ↑ ↑ 学习Excel,大家基本都知道去高手课学习哈. 精彩在后面!兴趣使然,以应用为导向,学以致用,学习效率更高!还记得高手课吗?高手课,一套免费精品教程解锁一门技能 ...

  7. Excel 用vba自动汇总实例

    Excel 用vba自动汇总 需要安装 wps vba 开启插件 在WPS 开发工具选项宏安全性调到最低,用百度网盘(提取码:7896)下载解压后运行exe文件,安装成功后如下图. PS:安装包来源于 ...

  8. Excel·VBA自动生成日记账的对方科目

    如图:根据日记账/序时账的日期.凭证号为一组,按借贷方向生成相反的科目,并写入H列.可能存在一对一.一对多.多对多等情况的账目 目录 数组法遍历.判断.写入 测试结果 多对多问题处理 测试结果 数组法 ...

  9. Excel VBA 自动添加新行并递增ID

    Excel VBA 自动添加新行并递增ID 用Excel 2010的VBA功能来处理数据,主要根据IP网段和网段IP个数,来生成每个IP地址,并进行ID编号. Sub AutoInsert()Line ...

最新文章

  1. 字符串中子序列出现次数
  2. (转载)linux下输入输出重定向和管道符
  3. 很慌!一次惊心动魄的服务器误删文件的恢复过程
  4. python read函数菜鸟_关于python的菜鸟问题
  5. html 适配 android,Android 版本适配 6~11
  6. C# ADO.NET
  7. 第三百三十六章 斗宗强者间的大战!
  8. winform keydown 等待按下另外一个键_真是没想到,手机电源键还有4个隐藏技巧,今天算是学到了...
  9. Python 2.7的新特性
  10. 学校计算机教室自查报告,学校专用教室自查报告范文
  11. AirDisk HDD
  12. 耳机插入电脑的,耳机接口,却没有声音的 解决方法
  13. 音视频开发系列(6)视频码率,帧率和分辨率
  14. chmod 777 授权无效
  15. xbrowser连接Linux没有桌面,Windows下使用Xbrowser连接Centos 6.x自带的远程桌面
  16. 手机连不上电脑WIFI并且一直提示正在获取IP地址
  17. STM32F10×××系列的PC13、PC14、PC15引脚用作普通IO口配置方法
  18. css加载中,请稍后....demo示例(整理)
  19. FlinkSql中表的创建及查询
  20. 使用Android的Service实现后台定时检测并重启应用

热门文章

  1. 时间序列分析教程(一):基本性质
  2. 计算长方形的周长和面积(类和对象)
  3. selenium滑动验证
  4. 4x root 红米_红米4X root教程_红米4X卡刷root包来获取root权限的方法
  5. 【CSS】相对长度单位 绝对长度单位,vw/vh , rem等
  6. @Column中的length属性和@Size和@length区别
  7. wps免费下载 wps文档怎么转成加密的PDF文档呢?
  8. YoloV4论文学习
  9. delphi中Bmp转Jpeg JPG转BMP
  10. 电脑如何登录两个微信