向Excel工作表中手动插入图形对象是十分方便的,如果需要向工作表中插入大量图形,或是对绘制的图形对象大小和位置有特别准确的要求,用手工绘制的方法就不太方便了。此时可以通过VBA程序来进行图形对象的绘制。本文以在工作表中绘制一个三角形为例来介绍向Excel工作表中添加图形的方法。
1、启动Excel并打开Visual Basic编辑器,在工程资源管理器中插入一个模块,在模块的“代码”窗口中输入程序代码,如图1所示。具体的程序代码如下所示:
Sub DrawTr()
Dim triArray(1 To 4,1 To 2)As Single
triArray(1,1)=25
triArray(1,2)=100
triArray(2,1)=100
triArray(2,2)=150
triArray(3,1)=150
triArray(3,2)=50
triArray(4,1)=25
triArray(4,2)=100
Worksheets(1).Shapes.AddPolyline triArray
Worksheets(1).Shapes(1).Fill.ForeColor.RGB=RGB(15,100,255)
End Sub
图1 创建模块并输入程序代码
提示
在VBA中,使用Shapes对象的AddPolyline方法能够创建一个不封闭或封闭的多边形,该方法将能够返回一个代表新的连续线段或多边形的Shape对象。该方法的语法格式如下所示:
表达式AddPolyline(SafeArrayOfPoints)
这里,表达式是一个代表Shapes对象的变量,该方法的SafeArrayOfPoints参数是一个必选参数,其是用于指定多边形顶点的坐标对所组成的数组,坐标对指的是一对数值,该数值表示点的X和Y坐标。
2、按F5键运行该段程序代码,在Excel工作表中将插入一个蓝色的三角形,如图2所示。
图2 在工作表中插入三角形