我已经建立了英国的热点地图。当单元格与县名相同时,是否可以突出显示某个县?
热图由每个县的单个图片组成,这些图片已重叠。理想情况下,这将在您将数据放入单元格后立即生效。
我知道条件格式不太可能起作用,这可能需要VBA-另外,当我尝试应用轮廓时,它当前位于“图片”矩形周围,而不仅仅是图像的非透明部分。
如果您需要更多信息,请问我任何问题。
谢谢
答案 0 :(得分:0)
使用透明度较低或为零的“发光”或“阴影”,而不是使用“线条”。例如,以下两个子将使Sheet1
上的形状为“图片1”的形状以0透明度开始或停止发光,这有望给出合适的轮廓。
Sub MakeShapeGlow()
With Sheet1.Shapes("Picture 1").Glow
.Color.ObjectThemeColor = msoThemeColorAccent5
.Color.TintAndShade = 0
.Color.Brightness = -0.25
.Transparency = 0
.Radius = 6
End With
End Sub
Sub StopShapeGlow()
Sheet1.Shapes("Picture 1").Glow.Radius = 0
End Sub
但是-您可能还想将Shape放在最前面,以便其他Picture不会遮盖轮廓。 (您应该可以使用“记录宏”来获取代码)
您可以通过以下方式触发更改:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "Cornwall" Then
MakeShapeGlow
Else
StopShapeGlow
End If
End Sub
(显然,一个For Each
循环将取消所有形状的发光,然后根据名称发光为形状,例如“ Pic_Cornwall”,这比键入新的Subs和If
链要有效得多。每个县)