作者:绿色风
分类:
时间:2022-08-17
浏览:196
楼主 嘉昆2011 |
声明: 仿制素材来源于ExcelHero-----Daniel Ferry先生作品,链接如下:- http://www.excelhero.com/blog/2011/03/excel-animated-business-chart---body-mass-index.html
华盛顿邮报网页上的展示效果:- http://www.washingtonpost.com/wp-srv/special/health/weight-of-the-world-bmi/
为操作方便对数据规模有适量缩减,采用5年的数据集。
主要知识点: 基础操作:文本导入,选择性粘贴&筛选,控件使用; 函数:Vlookup,Index,Offset,名称标签; VBA:Collection,对特定序列点的着色,名称添加,调用过程。
仿制效果展示:
制作步骤提要: 1,文本(选取所需要的列字段)导入Excel文件,文本素材来源于维基百科- http://en.wikipedia.org/wiki/List_of_sovereign_states_and_dependent_territories_by_continent_(data_file)
建立对照表,查询全称:- =VLOOKUP(A1,E$1:F$7,2,)
2,统计国家,配准数据来源不同的区域- =VLOOKUP("*"&H3&"*",B$1:C$261,2,)
注:个别错误值手工修改下。
#小插曲#:对不连续单元格区域的上色(可以同散点图的点上色一同在后面VBA中操作) a,基础操作:筛选 & 选择性粘贴
b,VBA,对字典熟悉的朋友对下面的代码一定不陌生,只不过这里是以Collection为对象。- Private Sub ColContinent()
- Dim colColors As Collection
- Dim c As Range
- Set colColors = New Collection
-
- For Each c In Range("F1:F7")
- colColors.Add c.Interior.Color, c
- Next
-
- For Each c In [ColTest]
- c.Interior.Color = colColors(c)
- Next
-
- Set colColors = Nothing
-
- End Sub
3,建立控制面板,设计参数
标题:- =Year&" "&REPT(SelCountry,SelCountry<>"None")
选择国家男女体质数据,多单元格数组公式:- =INDEX(DB_BMI,N13:N17,3)
随年份变化的所有国家的男女体质数据,多单元格数组公式:- =INDEX(DB_BMI,Year_Offset+K3:K201,{3,4})
4,图表制作 a,制作背景,对角线,图例,坐标轴等 Y轴误差线制作大小不同的矩形,以标示“正常”,“超重”,“肥胖”区域; 用图中区域外的不可见点制作图例; 友情提醒:图表对名称的添加格式:“=工作簿名称.(xlsx/)xlsm!名称"
b,针对不同的国家所处的区域进行上色- Private Sub PointsColorContinent()
- Dim pntColors As Collection
- Dim Rng As Range
- Dim i As Long
-
- Set pntColors = New Collection
- For Each Rng In Sheet2.Range("F1:F7")
- pntColors.Add Rng.Interior.Color, Rng
- Next
-
- For Each Rng In [Country]
- If Rng <> "None" Then
- Rng.Offset(, 1).Interior.Color = pntColors(Rng.Offset(, 1))
- i = i + 1
- With Sheet3.ChartObjects(1).Chart.SeriesCollection(1).Points(i)
- .Format.Fill.ForeColor.RGB = pntColors(Rng.Offset(, 1))
- .Format.Fill.Transparency = 0.4
- End With
- End If
- Next
- Set pntColors = Nothing
-
- End Sub
有了字典和前面对Collection对象的理解,相信这段代码应该不难理解。
5,添加控件,建立链接 a,控件代码,请详见附件(大部分引用原文作者ExcelHero) b,美化图表
附件:
BMI.rar
BMI体质指数图表: http://www.exceltip.net/thread-39507-1-1.html
进一步美化,达到用鼠标滑过图表数据点显示数据细节(华盛顿邮报网页效果),可参考: http://www.exceltip.net/thread-38929-1-1.html
最后,祝大家中秋国庆快乐,身体健康哟~ |
2楼 纵鹤擒龙水中月 |
学习了 |
3楼 千年一梦遥 |
嘉昆的图表还是一如既往的漂亮! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一