打字猴:1.700429013e+09
1700429013
1700429014 你可以继续使用第5~6步的方法,在其他工作表中准备数据,制作更多的图表,并且都放置到工作表dashboard中,与地图一起排列好,成为一个综合的动态仪表板,通过一个地图选择器同时控制多个图表、表格或者KPI显示。
1700429015
1700429016 本做法的主要技巧在于地图选择器的构造,其他与5.1节动态图表技术准备中的内容是一样的。
1700429017
1700429018 懒人直接用
1700429019
1700429020 在随书范例包中找到并打开“5.4基于地图选择的动态图表(鼠标点击版).xls(或.xlsm)”文件,启用宏。
1700429021
1700429022 ●在data1工作表中输入各省数据。
1700429023
1700429024 ●在dashboard工作表中测试动态图表,检查无误。
1700429025
1700429026 若要反映的数据源不是时间序列,或时间序列的周期不是12,可按前述步骤修改相应的地方或图表类型。
1700429027
1700429028 用地图说话:在商业分析与演示中运用Excel数据地图 [:1700427112]
1700429029 5.5 基于地图选择的动态图表(鼠标移动版)
1700429030
1700429031 5.4节介绍的鼠标点击版的基于地图选择的动态图表,每次切换区域都需要在地图上点击一下,点多了手就会有些不适。而我一直想模仿的一种效果是,鼠标在地图上移动,当悬停在某个区域上时,图表就自动切换为该区域的数据。
1700429032
1700429033 很多网友一起参与了这个讨论,提出了多种做法,包括图表事件法、工作表事件法、钩子法等。其中网友chrisfang的做法最为简洁[2],我在其基础之上进行了简化和完善,介绍给大家。
1700429034
1700429035 作图思路
1700429036
1700429037 在Excel中,可以通过API函数获取鼠标位置,然后获取处于这个位置上的对象。如果是地图图形,则将其名称记录下来,作为动态图表的输入参数。剩下的事情,就与5.4节一样了。
1700429038
1700429039 作图步骤
1700429040
1700429041
1700429042 1.构建地图模型。
1700429043
1700429044 还是利用5.4节的模型文件,这里我们以广东省地图来讲解。如图5-13所示,在dashboard工作表中放置地图图形和动态图表,用户选择结果放在A1单元格中,将作为动态图表模型的输入参数。源数据及动态图表辅助数据均放在data1工作表中。
1700429045
1700429046
1700429047
1700429048
1700429049 图5-13 基于地图选择的动态图表模型(鼠标移动版) 范例文件名:5.5基于地图选择的动态图表(鼠标移动版).xls(或.xlsm)
1700429050
1700429051 2.编写地图选择器宏。
1700429052
1700429053 根据前述思路,编写如图5-14所示的宏代码。
1700429054
1700429055
1700429056
1700429057
1700429058 图5-14 通过捕捉鼠标位置获知用户选择的宏代码
1700429059
1700429060 在这段宏代码中,先调用API函数GetCursorPos获取鼠标当前所在的位置坐标,然后利用RangeFromPoint函数获取这个坐标位置上的对象。当这个对象是地图图形时,将其名称记录于A1单元格,也就是用户当前选择的区域名。同时,要将该区域图形填充为表示已选中的亮色,并将之前选中的图形还原为表示未选中的淡色。这就是鼠标移动版地图选择器的功能。
1700429061
1700429062 与5.4节的模型相同,A1是动态模型的输入参数,作为图表数据源的辅助区域将自动刷新为与A1中区域名称对应的数据。
[ 上一页 ]  [ :1.700429013e+09 ]  [ 下一页 ]