在单元格角中添加形状

时间:2016-08-09 09:20:56

标签: excel-vba shape vba excel

嗨我需要动态添加形状到单元格角D12(左,下) 这是我的代码

  Set textRectangle = ActiveSheet.Shapes.AddShape(msoShapeOval, Range("D13").Left, Range("D13").Top, 20, 20)

textRectangle.name = "test shape"
' add your text
textRectangle.TextFrame.Characters.Text = "Your"

' fill the shape with the rgb color of your choice
textRectangle.Fill.ForeColor.RGB = RGB(220, 105, 0)

结果为:enter image description here

这是我想要的结果 enter image description here

创建后我正在重新设置圆圈

1 个答案:

答案 0 :(得分:0)

我认为你可能需要在添加它时考虑形状的半径。

<强>代码:

Sub add_shape()

    Dim textRectangle As Shape
    Dim radius As Integer
    radius = 20
    Set textRectangle = ActiveSheet.Shapes.AddShape(msoShapeOval, (Range("D13").Left - radius / 2), _
                        Range("D13").Top - radius / 2, radius, radius)

End Sub

另外(为了将来参考),您可以使用Range("A1").WidthRange("A1").Height属性进行其他对象操作:)

HTH;)