如何使用excel vba中的“对于activesheet.shapes中的每个形状”将形状插入到特定单元格中

时间:2013-11-22 10:00:06

标签: excel vba shapes

我要求提示以下问题。如何从activesheet添加到指定的单元格形状?当我知道名字但我不知道如何为...中的每个形状实现forumla时,我能够添加形状。

目前我有这样的事情:

Sub loop()

Dim a As Integer
Dim b As Integer
Dim c As Integer

For a = 1 To 10
    For b = 1 To 10

        ActiveSheet.Shapes.AddShape("Shape_Name", Cells(a, b), Cells(j, k), 10).Select

    Next a
Next b
End Sub

但是我需要一些东西:

For Each Shape In ActiveSheet.Shapes

1 个答案:

答案 0 :(得分:3)

我不确定你需要什么,但试试这个

Dim shp As Shape

For Each shp In ActiveSheet.Shapes
    Debug.Print shp.Name
Next

这只迭代Shapes集合。所以你需要有适当的形状来访问它们=>逻辑。

如果您尝试添加形状,则无法使用for each中的.Shapes,因为.Shapes集合将为空。


所以一旦你知道形状名称,你就可以

Sheets("Sheet1").Shapes("Rectangle 1").Copy
Sheets("Sheet2").Select
Range("B2").Select
Sheets(2).Paste