在tableau里可以很轻易的做出下面的图表 , 但是相比之下 , excel的应用更加广泛 , 于是我尝试用excel将其做出 。我大概倒腾了一个下午 , 如果只是简简单单的做个一次性的那还算简单 , 当你看完我这篇文章也就会了 , 耗费我时间的是怎样让其在筛选的
在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
推荐阅读
- 冬瓜肉丝炒木耳的做法?
- 大的青芒果怎么切 青芒果怎么切视频
- 牛腩是牛哪个部位的肉
- 八款最去湿气的祛湿汤排骨 八款最去湿气的祛湿汤
- 每天吃花生酱会胖吗 吃花生酱会胖吗
- 肺纹理增重是什么原因 肺纹理增重什么意思
- 琥珀的科学价值是多少 琥珀的科学价值
- 新疆省本民族的建筑风格是什么
- 小户型客厅适合怎么样的茶几小客厅适合什么形状茶几
- 心如金坚是什么意思