在tableau里可以很轻易的做出下面的图表 , 但是相比之下 , excel的应用更加广泛 , 于是我尝试用excel将其做出 。
文章插图
我大概倒腾了一个下午 , 如果只是简简单单的做个一次性的那还算简单 , 当你看完我这篇文章也就会了 , 耗费我时间的是怎样让其在筛选的时候可以动态变换 。
文章插图
先说说怎么做出柱状饼图组合图 。我随机准备了一些数据 。
第一步:制作组合图
文章插图
【Excel另类的柱形饼图 excel柱形图和饼图适用场合】第二步:制作饼图(每个月份制作一个饼图) 。
文章插图
第三步:调整纵坐标轴(此操作为了让饼图不超出图表区域) 。
文章插图
第四步:逐个将饼图复制黏贴为图片 , 再剪切图片黏贴到辅助系列的每个数据点上 。
文章插图
文章插图
第五步:再制作一个饼图 , 将图例截图成图片放到图表里即可 。
文章插图
逐个黏贴 , 图表就操作完成了 。
如果是制作可筛选的报表 , 那就需要额外增加进行一些操作 。
首先需要将饼图逐个命名 。比如1月饼图命名为1月 , 2月饼图命名为2月……
记住名称必须是横坐标那一列文字 , 图表命名为组合图 , 因为后面代码要用到 。
文章插图
然后我们再在当前sheet里放置代码 。
文章插图
最后组合框指定宏添加饼图 。
代码需要修改的地方我做了备注 , 其余代码无需改动即可使用 。这里需要说明的是 , 图表横坐标的排序需要和单元格中一致(无特殊设置 , 通常情况是一致的) 。如有疑问 , 欢迎留言 。
Sub 添加饼图()i = 1Set rg = Range("a2:a6") '横坐标所在位置Set ch = ActiveSheet.ChartObjects("组合图") '图表名称num = 2 '第几个系列改为添加饼图ms = Range("a9").Value '设置纵坐标最大值Application.ScreenUpdating = Falsech.ActivateActiveChart.Axes(xlValue).MaximumScale = msFor Each r In rgActiveSheet.ChartObjects(r).ActivateActiveChart.ChartArea.SelectActiveChart.ChartArea.CopyRange("a1").SelectActiveSheet.Pictures.Paste.SelectSelection.Cutch.ActivateActiveChart.FullSeriesCollection(num).Points(i).SelectSelection.PasteApplication.CutCopyMode = Falsei = i + 1NextApplication.ScreenUpdating = Truech.ActivateEnd Sub
- 中国有海滩的旅游胜地 中国有海滩的旅游胜地有哪些
- 世界十大加速最快跑车 全球加速最快的跑车
- 履约保函和履约保证金区别 履约保证函和履约保证金的区别
- 磁铁是怎么形成的
- 桂圆抗疲劳治失眠 还有延缓衰老的功效
- 2023年值得期待的新款车型 奔驰2023款即将上市新车
- 五菱佳辰平民7座mpv的又一选择 五菱宏光7座商务车多少钱
- 低速踩刹车有响声是什么原因 低速踩刹车有刺耳的声音
- 买车都要什么送的贴膜能用吗 4s店送的车膜要不要
- 五菱新电动车nanoev是两座的 纯电动汽车3万左右价格