今天跟大家分享下如何在Excel中制作一个动态的着色地图,操作还是稍微有一点点繁琐的,需要多次定义名称,下面来看下具体的操作
一、获取地图区域首先需要获取对应的地图区域,推荐大家使用【阿里云地图选择器】,百度搜索进入官网,选择自己需要的区域在右侧下载SVG格式的文件就好了
下载后,将SVG插入到Excel表格,取消组合两次,就会得到每个地图的图片了,是可以随意移动的
二、构建辅助数据1.确定区间与颜色值
最右侧是数字对应的区间颜色,这个需要先确定下,然后在最右边设置每个颜色的名字,这个等下定义名称需要用到
2.辅助列1
公式:=VLOOKUP(B2,$E$2:$F$4,2,TRUE)
将每个数字对应的颜色名称引用到对应的位置,本质Vlookup的近似匹配,我们需要构建构建一个辅助表,来进行数据的引用
3. 辅助列2
公式:=A2&CHAR(10)&B2
作用是让区域名字与销量换行显示,等一下用于构建数据标签
三、定义名称我们需要分别对颜色以及SVG格式的图片定义名称,只需选中它们,然后将鼠标放在【地址栏】输入对应的名字即可
每一个颜色,每一个SVG,都需要设置为它对应的颜色名称或者地区的名字,具体操作如下动图,我们仅仅演示了一个,所有的都需要定义的
四、设置VBA代码点击【开发工具】找到【Visual Basic】进入VBA编辑窗口,之后点击【插入】新建模块,把代码粘贴到窗口中,最后回到表格,点击【宏】找到【填色】点击【运行】就能事先根据数据大小自动的设置颜色了
Sub 填色()
Application.ScreenUpdating = False
For i = 2 To 8
ActiveSheet.Shapes(Range("sheet1!A" & i).Value).Fill.ForeColor.RGB = Range(Range("sheet1!C" & i).Value).Interior.Color
Next i
Application.ScreenUpdating = True
End Sub
首先新建文本框,然后选择文本框,把鼠标放在【编辑栏】写一个等于号,直接点击【巩义】对应的辅助列2的值,最后更改背景色、边框为无,为字体设置一个白色,其余都需要这么设置不再颜色了,做法如下动图
至此就设置完毕,数据表动,点击【宏】找到【填色】再次执行一次即可
以上就是今天分享的全部内容了,关注我,持续分享更多Excel技巧
以上内容在我的课程中都有详细讲到,如果你想要提高工作效率,不想再求同事帮你解决各种Excel问题,可以了解下我的专栏,讲解了函数、图表、透视表、数据看板等常用功能,带你快速成为Excel高手
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved