如何在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