2

我在 Excel 中创建了一个热图,通过以不同的自由形式切割所有国家区域(形成整个国家的地图)来展示每个区域的不同 KPI。

我试图让这个更具交互性,因此用户可以选择某种形式(即区域)并在单元格中返回该区域的数据(特定 KPI)。

完成这项工作的最佳选择是什么?

4

1 回答 1

2

这是我在之前评论中的意思的一个非常简化的示例:

在此处输入图像描述

  • 我创建了 4 个形状并为它们分配了名称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 个形状

  • 现在您可以单击这些形状中的任何一个,例如,带有数字 2 的形状:

在此处输入图像描述

您甚至可以(不确定是否方便)制作KPI形状名称的一部分并将其返回到带有Rw(nth).

显然,您可以使用Application.Caller. 例如,您可以在矩阵中搜索形状的子字符串并返回另一个值。

于 2019-08-20T08:48:27.120 回答