如何通过从单元格获取形状名称来引用形状?

时间:2019-01-20 09:10:35

标签: excel vba reference shapes

我想按特定的名称遍历形状列表,这些名称在Excel的单元格列表中给出。为简化起见,这是仅引用一个形状名称的问题:

形状的名称为“ Star1”,并在A1单元格中给出。

在VBA代码中,我可以通过ActiveSheet.Shapes("Star1").SelectActiveSheet.Shapes(1).Select直接选择形状。但是,我想通过引用单元格A1中给出的名称间接选择形状

ActiveSheet.Shapes(Indirect("A1")).Select

此代码不起作用,不知道如何解决。

1 个答案:

答案 0 :(得分:1)

您要寻找的语法如下:-

Worksheets("Sheet1").Shapes(Worksheets("Sheet2").Cells(1, 1).Value).Select
or, if you prefer,
Worksheets("Sheet1").Shapes(Worksheets("Sheet2").Cells(1, "A").Value).Select
or
Worksheets("Sheet1").Shapes(Worksheets("Sheet2").Range("A1").Value).Select

在上述所有情况下,形状都在Sheet1上,名称在Sheet2上。这两个项目可能在同一张纸上,并且两者(或两者)中的任何一个都可以是ActiveSheet,并可以进行相应处理。