如何在excel vba中使用“对activesheet.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 

我不知道你需要什么,但试试这个

 Dim shp As Shape For Each shp In ActiveSheet.Shapes Debug.Print shp.Name Next 

这只是遍历Shapes集合。 所以你需要有适当的形状来访问他们=>逻辑。

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


所以一旦你知道形状的名字,你可以

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