插入没有SELECT的形状
我的一段代码遍历一系列单元格,如果某个单元格满足某些条件 – 将该形状插入此单元格中。 它的工作原理,但我想找出一个避免select
的替代方法。
'above - code to find satisfying cell ActWS.Activate 'Activate Sheet ActWS.Cells(rActPlan - 1, vReturnColumn).Select 'Select satisfying cell ActiveSheet.Shapes.AddShape(msoShapeOval, ActiveCell.Left, ActiveCell.Top, ActiveCell.Width, ActiveCell.Height).Select Selection.ShapeRange.Fill.Visible = msoFalse With Selection.ShapeRange.Line .Visible = msoTrue .ForeColor.RGB = RGB(0, 255, 0) .Weight = 2.25 End With
此代码删除所有.Select
和ActiveCell
引用:
With ActWs Dim rng as Range Set rng = .Cells(rActPlan - 1, vReturnColumn) Dim shp as Shape Set shp = .Shapes.AddShape(msoShapeOval, rng.Left, rng.Top, rng.Width, rng.Height) With shp.ShapeRange .Fill.Visible = msoFalse With .Line .Visible = msoTrue .ForeColor.RGB = RGB(0, 255, 0) .Transparency = 0 .Weight = 2.25 End With End With End With
AddShape()
返回刚刚添加的形状对象,所以你应该能够使用类似下面的代码 – 然后引用shp
而不是Selection
Dim shp as Shape Set shp = ActiveSheet.Shapes.AddShape(msoShapeOval, ActiveCell.Left, _ ActiveCell.Top, ActiveCell.Width, ActiveCell.Height)