首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

太牛了!这地图竟然是Excel做的?还能自动变色

今天跟大家分享下如何在Excel中制作一个动态的着色地图,操作还是稍微有一点点繁琐的,需要多次定义名称,下面来看下具体的操作

一、获取地图区域

下载后,将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 = TrueEnd Sub

五、设置数据标签

首先新建文本框,然后选择文本框,把鼠标放在【编辑栏】写一个等于号,直接点击【巩义】对应的辅助列2的值,最后更改背景色、边框为无,为字体设置一个白色,其余都需要这么设置不再颜色了,做法如下动图

至此就设置完毕,数据表动,点击【宏】找到【填色】再次执行一次即可

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OYo-0g9wSInMFGCPgvkjuVxw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券