excel - Excel 中的地图:如何通过从下拉菜单中选择地理区域的名称来突出显示该地理区域?
问题描述
目标是从 Excel 的下拉列表中选择一个州名,并在 Excel 中的美国地图上更改该州的颜色。我已经创建了地图,并设置了我认为需要的所有参考表,但它不起作用。我在网上找到的最有用的资源是这个https://www.youtube.com/watch?v=RfjCkHK2TXM。需要注意的是,我在 Mac 上工作,并使用 Excel 16.4 版。与视频不同的是,我没有在州周围绘制边界,而是从地图中选择每个州并用州名标记它们。
这是我使用的宏代码:
Sub Shading()
For i = 2 To 53
Range("actReg").Value = Range("Data!A" & i).Value
ActiveSheet.Shapes(Range("actReg").Value).Select
Selection.ShapeRange.Fill.ForeColor.RGB = Range(Range("actRegCode").Value).Interior.Color
Next i
Range("A6").Select
End Sub
感谢您对如何进行这项工作的任何见解!
解决方案
正如我在评论中所说,我将提供一个适用于 Office365/Windows 10 的答案,希望有足够的相似之处让您适应您的需求。要使这对您有用,必须满足以下两个基本假设:
- Excel for Mac 2D 地图图表是您用来创建地图的工具,并且该图表由数据系列提供信息,并且
- 您的唯一目的是在地图上突出显示您通过下拉列表选择的州
如果这些事情中的任何一个是错误的,请不要继续阅读。
第 1 步 - 设置数据系列
我对你的布局一无所知,所以我将在这里描述我的布局——只需更改它以匹配你所拥有的。
单元格中的标题A1
B1
和从下到C1
下的状态列表(在我的情况下,也是下拉单元格的“来源”)从下到下的值列表。下拉单元格A2
A51
B2
B51
C2
在单元格B2
中,使用以下公式覆盖数据:=IF(A2=$C$2, 0, 1)
注意绝对引用$C$2
。将此公式复制到列下B
- 覆盖所有现有数据。
这会做什么?无论您通过下拉列表选择哪个州0
,其数据系列中都会有一个 ——所有其他州都将有一个1
.
第 2 步 – 格式化数据系列
右键单击地图上的任何状态并选择Format Data Series
(或者您在 Excel for Mac 2D 地图图表上执行此操作)选择Series Color
在Minimum
-Lowest Value
将颜色更改为红色(或您的选择) 在Maximum
-Highest Value
将颜色更改为蓝色(或您的选择)
预期结果
现在,每当您通过下拉菜单更改状态时,都会将 a0
放入该状态的数据系列中 - 这是系列中的最小值,而 a1
在所有其他状态中 - 这是系列中相同的最大值。选择的状态将是红色的——所有其他的都是蓝色的。
让我知道事情的后续。
推荐阅读
- docker - 在 Google App Engine 上运行 gcsfuse 时出现问题
- node.js - 在 Heroku CI 环境中通过 CDN 服务 webpack 生成的 CSS 文件
- php - 如何在刀片 laravel 的另一个 foreach 中使用 foreach
- java - 将空字符串解析为 int
- php - PHP - 多维数组合并为一个数组
- nativescript - Nativescript蓝牙读取连续数据
- nested - ClickHouse - 在嵌套字段中搜索
- microsoft-graph-api - 如何从系统自动 GET 调用 Microsoft Graph Explorer 并通过脚本存储输出?
- angular - 根据Angular中的给定结构动态生成表
- ubuntu - Ubuntu 16.4:每个代码编辑器在打开后立即关闭