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
1700429001
1700429002
C2: =VLOOKUP($A$2,$A$5:$N$36,COLUMN(C5),0)
1700429003
1700429004
将此公式向右复制到N2。这样,当用户通过前面的地图选择器选择某个省时,该省的数据就会被查找引用到第2行。
1700429005
1700429006
6.制作动态图表。
1700429007
1700429009
1700429010
7.测试模型。
1700429011
[
上一页 ]
[ :1.700428962e+09 ]
[
下一页 ]