用VBA在Excel中选择形状

用VBA在Excel中选择形状,vba,excel,shapes,Vba,Excel,Shapes,我正在尝试使用VBA按名称选择形状。在我的工作表中,我有10个名为1到10的形状,需要一个特定的形状。出于某种原因,excel用我的代码选择的形状似乎与我告诉它选择的名称不同。据我所知,它选择的形状是随机的。这是我的代码(x值应该检索我输入的从1到10的数值): 请提供帮助,我们非常感谢您的任何想法。当您的形状命名为1到10时,您的x会给出索引号而不是名称。请从您的x生成一个字符串: ActiveSheet.Shapes(CStr(x)).Select 据我所知,它选择的形状是随机的 发生这种

我正在尝试使用VBA按名称选择形状。在我的工作表中,我有10个名为1到10的形状,需要一个特定的形状。出于某种原因,excel用我的代码选择的形状似乎与我告诉它选择的名称不同。据我所知,它选择的形状是随机的。这是我的代码(x值应该检索我输入的从1到10的数值):


请提供帮助,我们非常感谢您的任何想法。

当您的形状命名为1到10时,您的x会给出索引号而不是名称。请从您的x生成一个字符串:

ActiveSheet.Shapes(CStr(x)).Select
据我所知,它选择的形状是随机的

发生这种情况的原因是,当您使用数值时,实际上是指形状在
Shapes
集合中的位置。使用字符串值时,指的是形状的名称。床单也是如此。看我的

ActiveSheet.Shapes(CStr(x)).Select