打字猴:1.700428962e+09
1700428962
1700428963 我们要编写一个宏过程,当用户单击某省图形后,将该省名称填入A1单元格,供后面的动态图表模型引用。同时要将该省图形填充为表示已被选中的高亮色,并将之前选中的图形还原为表示未选中的淡颜色。
1700428964
1700428965 单击菜单工具→宏→Visual Basic编辑器(或Alt+F11键),进入VBA编辑窗口。在左侧窗口中选择ThisWorkbook,在右侧窗口中输入如图5-10所示的代码。
1700428966
1700428967
1700428968
1700428969
1700428970 图5-10 地图选择器的宏代码
1700428971
1700428972 其中,Application.Caller会返回此宏的调用者,也就是被点击的地图图形的名称,该值被记录在单元格A1。
1700428973
1700428974 3.为每个地区图形指定宏调用。
1700428975
1700428976 现在要将上述宏过程指定给每个省的地图图形。选中某省的图形,单击右键→指定宏,选择user_click。按此方法逐一为各省图形指定宏调用。
1700428977
1700428978 更加便捷的方法是使用如图5-11所示的宏代码,为各省图形批量指定宏调用。
1700428979
1700428980
1700428981
1700428982
1700428983 图5-11 为地图图形批量设置宏调用
1700428984
1700428985 4.测试选择器。
1700428986
1700428987 现在可以测试选择器了。注意,测试之前,先要手动为单元格A1初始化(即输入一个值,如“湖北”)。然后,用鼠标逐一单击各省的地图图形,你会发现选择的结果会反映在单元格A1中,地图图形的颜色也会跟随变化。
1700428988
1700428989 至此,一个地图形式的选择器已经完成,它将是第6章综合地图模型的重要部件。
1700428990
1700428991 5.准备动态图表数据源。
1700428992
1700428993 假设各省的数据存放在工作表data1中,其中A列为省名,与地图图形的名称对应;C~N列为各省1~12月的指标数据,如图5-12所示。
1700428994
1700428995
1700428996
1700428997
1700428998 图5-12 动态图表的数据组织
1700428999
1700429000 单元格A2引用工作表dashboard中A1的值,即当前被选中的省名。单元格C2:N2使用VLOOKUP函数从数据表格中查找返回当前选中省的对应数据。以单元格C2为例,其公式为:
1700429001
1700429002 C2: =VLOOKUP($A$2,$A$5:$N$36,COLUMN(C5),0)
1700429003
1700429004 将此公式向右复制到N2。这样,当用户通过前面的地图选择器选择某个省时,该省的数据就会被查找引用到第2行。
1700429005
1700429006 6.制作动态图表。
1700429007
1700429008 在工作表data1中以B2:N2为数据源制作图表,格式化至你喜欢的样式,然后将其复制粘贴到工作表dashboard中,放置在地图图形的右侧。
1700429009
1700429010 7.测试模型。
1700429011
[ 上一页 ]  [ :1.700428962e+09 ]  [ 下一页 ]