我在 Excel 中创建了一个热图,通过以不同的自由形式切割所有国家区域(形成整个国家的地图)来展示每个区域的不同 KPI。
我试图让这个更具交互性,因此用户可以选择某种形式(即区域)并在单元格中返回该区域的数据(特定 KPI)。
完成这项工作的最佳选择是什么?
这是我在之前评论中的意思的一个非常简化的示例:
Shape_1
,直到Shape_4
我使用了一些工作表代码Application.Caller
Sub Test()
Dim ShapeName As String, Rw() As String
ShapeName = Application.Caller
If InStr(1, ShapeName, "Shape_") > 0 Then
Rw = Split(ShapeName, "_")
MsgBox "This shape belongs to " & Range("A" & Rw(1))
End If
End Sub
我将此宏分配给所有 4 个形状
您甚至可以(不确定是否方便)制作KPI
形状名称的一部分并将其返回到带有Rw(nth)
.
显然,您可以使用Application.Caller
. 例如,您可以在矩阵中搜索形状的子字符串并返回另一个值。