看中秋节日,想到一个问题:
- 如何用vba在excel工作表中插入圆
上网学习了一下:
在vba中可以用Shapes集合对象的AddShape方法插入图形。
AddShape方法的语法如下:
1 | expression. AddShape( _Type_ , _Left_ , _Top_ , _Width_ , _Height_ ) |
---|
其中Type参数表示要插入的图形的类型,具体的参数值可以上官网看
指定 AutoShape 对象的形状类型。
https://docs.microsoft.com/zh-cn/office/vba/api/office.msoautoshapetype
测试代码
代码语言:javascript复制Sub 画一个圆()
Dim oSP As Shape
Dim oWK As Worksheet
Set oWK = Excel.ActiveSheet
'插入一个半径为25Point的圆
Set oSP = oWK.Shapes.AddShape(msoShapeOval, 100, 100, 200, 200)
End Sub
代码语言:javascript复制Sub 画一个圆()
Dim oSP As Shape
Dim oWK As Worksheet
Set oWK = Excel.ActiveSheet
'插入一个半径为25Point的圆
Set oSP = oWK.Shapes.AddShape(msoShapeOval, 100, 100, 200, 200)
oSP.Fill.ForeColor.RGB = RGB(255, 0, 0)
End Sub
添加色彩
其中msoShapeOval表示插入一个椭圆,将AddShape方法的Width和Height属性设置为相同的值,既可以变成插入圆形。
===成功===