欢迎来到天天文库
浏览记录
ID:41729652
大小:73.19 KB
页数:6页
时间:2019-08-30
《基于地图选择的Excel动态图表(修正)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、作图思路:地图由一个个自选图形绘制而成,读者点击某个地区的图形,会触发一个宏过程,这个宏会记录下用户选择的地区名,并修改图形的填充效果。动态图表模型则会根据宏所记录的地区名变换图表的数据,产生动态交互的效果。(地图图形的准备:首先,在网上找到一个矢量格式的地图文件。所谓矢量格式,是使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,其文件后缀名一般为.WMF、.Al、.EPS、.CDR等。Excel可以读取.WMF格式的文件,其他格式的-•般需要专门的软件打开。导入Excel后,该地图可以打散为一个个的自选图形(右键-取消组合),每个自选图形对应一个区域
2、。选中自选图形,在左上角名称框为自选图形命名,然后回车)或者用自由曲线绘制自选图形MicrosoftExcel-ExcelUS选择SS-中国3]文件g)編辑g)视EI辺插入d)格式©工具0)数据@)窗口⑩帮助QJ)xinjiang回]ExcelttS选择誥―中国・*lsxIH
3、D新疆ArlLm►Mdashboard/data!/fdata2y(^heeti/卜*q>
4、绘斥自选El形@“、口O±J脸城©▼三芸SiJ;就绪?jrrp:/IEfZr=jJprD±jDU.SD?JLL匚图1基于地图选择的动态图表模型。1•编写公共宏过程单击菜单“工具f宏一VisualBasic编辑器"(或
5、Alt+F11键),用户选择后调用的公共宏过程。在左侧窗口中选择ThisWorkbook,在右侧窗口中输入如下代码:Subuser_click()•1、取A1单元格值,将上次选择的地图版块填充黄色,即还原填充色ActiveSheet.Shapes(Range(nA1n).Value).Fill.ForeColor.SchemeColor=582、将当前选择的地图版块名称填值到A1Range(MA1H).Value=ActiveSheet_Shapes(Application.Caller).Name‘3、将当前选择的地图版块填充红色ActiveSheet.Shapes(Applica
6、tion.Caller).Fill.ForeColor.SchemeColor=14EndSub2•为每个地区图形指定宏调用以湖北省为例,选中湖北的图形,鼠标右键一指定宏在宏名输入框中输入如下代码:'thisworkbook・user_click‘按同样方法,为其他省的图形一一添加宏代码。熟悉VBA的读者可使用如下宏代码批量添加:Subauto_add_macro()'新建一个模型时手动运行,一次性添加宏Fori=1ToActiveSheet-Shapes.Count•5表示对象类型是地图版块IfActiveSheet.Shapes(i).Type=5ThenActiveSheet.
7、Shapes(i).OnAction=H,thisworkbook.user_click,HEndIfNextEndSub3■测试选择器现在可以测试选择器了。测试之前,先手动为单元格A1初始化一个值,如"hubeiJ然后,用鼠标逐一点击各省的图形,你会发现选择的结果会以拼音名反映在单元格A1中,图形的颜色也会跟随变化。至此,一个地图形式的选择器已经完成。4•准备动态图表数据源假设各省的数据存放在工作表datal中,其中A列为省名的拼音名,B列为省名,C〜N列为各省1〜12月的指标数据,如图5所示。C2▼丘=VLOOKUP(SAS2.SAS5:SNS36.COLUMN(C5),0)里]
8、ExceHt图选择遐一中国恥=A12hubei湖北3A45anhui安徽6beijing北京7fChongqing重庆8fuiian福建hdashboard)1月2月3月4月5月0.40790.30450.11710.84900003505949002400812809031081550.86970.76120.35060808007317匹嗣015542202512809181510873336079:0.81860.5930datal/data2/Sheetl/012986月0809027640.2?>°r图5动态图表的数据组织。单元格A2引用工作表dashboard中A1的值
9、,即当前选中的省名。单元格B2:N2均为公式引用,使用Vlookup函数从数据表格中查找返回当前选中省的对应数据。以单元格C2为例,其公式为:=VLOOKUP($A$2,$A$5:$N$36,COLUMN(C5),0)。5•制作图表在工作表datal中以B2:N2为数据源制作图表,格式化至你喜欢的样式,然后将其复制粘贴到工作表dashboard中,放置在地图图形的右侧。现在,用鼠标在地图上选择不同的省份,你会发现图表将自动跟随变化。至此,一个动态图表已经完
此文档下载收益归作者所有