ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > 图表图形 > 使用控件创建动态地图图表

使用控件创建动态地图图表

作者:绿色风 分类: 时间:2022-08-18 浏览:113
楼主
篮板球
首先我们看一下数据源

 
数据源中第二列是对应图形的名称。

首先创建图形,我们可能在网络中找到各个地图的矢量图形。
不过不是每个地图图形都适合我们,或许企业划分非按照行政区划分。因此可以尝试自己绘制,如下图:

 
绘制的方法,可以复制过一张地图。然后通过插入“形状”来按照自己的需求描。

完成后,我们在“开发工具”选项卡中选择插入“组合框”。组合框右键“设置控件格式”

 
当我们选择这个组合框时,链接的单元格中的数值就会随之改变,我们的数据就以此变化。
控件链接的内容:

 

此时需要建立图例和辅助数据来帮助完成图形色彩的选择,如图:

 
因为是从小到大排序,且兼顾控件的数据源,因此公式如下:
第一列,选择的占比
  1. =SMALL(OFFSET($R$79:$R$86,0,$N$72-1,8,1),ROW(1:9))
第二列,图例的标识名称
  1. =INDEX($N$79:$N$86,MATCH(M62,OFFSET($R$79:$R$86,0,$N$72-1,8,1),0))
第三列,单元格颜色对应的形状名称,此处为拼音,和数据源中的形状名称保持一直
  1. =INDEX($O$79:$O$86,MATCH(N62,$N$79:$N$86,0))
以上均为数组公式,需要按Shift+Ctrl+Enter执行。为了能使图例显示清晰,选中第三列右键“设置单元格格式”,“自定义”,类型中输入三个分号,即“;;;”。
此操作会使公式形成的内容不可见。如图

 

接着就是定义单元格的颜色名称,定义的颜色名称会被引用添加至图形的填充颜色。
“公式”选项卡“名称管理器”新建各个单元格的名称,如图:

 

随后按Alt+F11打开VBE编辑器,输入图形填充的VBA代码:
  1. Sub 图表填色()
  2. On Error Resume Next
  3. For i = 62 To 69
  4.     ActiveSheet.Shapes(Range("O" & i).Value).Select
  5.     Selection.ShapeRange.Fill.ForeColor.RGB = Range(Range("P" & i).Value).Interior.Color
  6.     Next i
  7. End Sub
然后右键控件“指定宏”

 
选择刚才创建的宏名称。

 

此时如果我们选择控件“组合框”的内容,将会得到不一样的图表类型。不过为了得到更好的显示效果,我们可以采用照相机的方式来组合。
首先将照相机找到,并添加到快速访问工具栏。位置是“开始”,“选项”,如下图:

 

选择我们已经完成的图形所在的单元格,然后点击“照相机”。接着在需要的位置拖动鼠标,即可放置图片。此时再选择图例,照相机,拖动鼠标,完成图例放置。
这样就完成了一个跟随控件变化而变化的图表了。

 


实例附件:
随控件变化的地图图表.rar


3.JPG
 
2楼
angel928
不错,下来研究下。

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap