获得单一形状的选择

get single shape of selection

我目前想知道是否有办法获取选区的单个对象(形状)。

我有以下选择:

ActiveSheet.Shapes.Range(Array("feed", "000-100-SRC", "product")).Select

如何获取第一项的名称?

可能是这样

Sub Tester()

Dim v As Variant

    For Each v In ActiveSheet.Shapes.Range(Array("feed", "000-100-SRC", "product"))
        Debug.Print v.Name
    Next

End Sub

或者那样

Sub Tester()

Dim vArr As Variant

    vArr = Array("feed", "000-100-SRC", "product")
    Debug.Print vArr(0)


End Sub

基本上,您的范围集称为形状范围。

您可以像在任何集合中一样获取它的项目,例如: MyShaperange(1) ,其中 myshaperange 是一个变量,或者您将其替换为 activesheet.shapes(array("gggg","yyy"))(1)

如果已经选择,您还可以:selection.shaperange(1),但通常不建议在编码时选择范围或形状。