在如何在excel工作表中插入半圆? 一文中我们介绍了如何通过操作在excel中插入半圆。
但是细心的你可能已经发现了,通过调整“不完整圆”虽然可以调整到形式“半圆”的图形,但是不能获得一个精准的“半圆”。
通过vba,我们可以实现插入一个精准的半圆。
在vba中可以用Shapes集合对象的AddShape方法插入图形。
AddShape方法的语法如下:
expression. AddShape( _Type_ , _Left_ , _Top_ , _Width_ , _Height_ )
其中Type参数表示要插入的图形的类型,具体的参数值可以见图形类型。
比如以下的代码将在工作表中插入一个“不完整圆”:
Sub QQ1722187970()
Dim oSP As Shape
Dim oWK As Worksheet
Set oWK = Excel.ActiveSheet
Set oSP = oWK.Shapes.AddShape(msoShapePie, 100, 100, 100, 100)
End Sub
然后通过Shape对象的Adjustments属性返回Adjustments对象。
通过设置Adjustments对象的值,实现精准半圆。
比如上述代码运行后插入的“不完整圆”具有2个Adjustment 点,如下图所示:

为此可以通过调整Adjustments对象的值画出精准半圆,代码如下:
Sub QQ1722187970()
Dim oSP As Shape
Dim oWK As Worksheet
Set oWK = Excel.ActiveSheet
Set oSP = oWK.Shapes.AddShape(msoShapePie, 100, 100, 100, 100)
With oSP
'将第一个调节点旋转90°
.Adjustments(1) = 90
End With
End Sub
代码运行后如下图所示:

在excel中插入了一个精准的半圆。


发表评论