NO.1
Excel中有一个Shape对象,其中包含了图形,如线条、长方形、三角形等等。
有些时候,我们需要画出很多个同样属性的图形来,这样就需要进行图形复制,把一些相同的图形进行复制就可以了。
vba提供了一个方法可以很方便地进行这样的操作。
本方法依赖于Shape对象,即如上图,PickUp和Apply方法进行。
这两个方法分别执行相当于复制和粘贴的功能。
如下列:
Set myDocument = Activesheets
With myDocument
.Shapes(1).PickUp
.Shapes(2).Apply
End With
代码功能是将活动工作表中的Shape(1)对象的属性应用到Shape(2)对象。
NO.2
其实这个方法还是很好理解的,主要在实际操作中,要把复制的对象和应用的对象确定正确,其它的就再容易不过了。
如上图,本列将复制橙色长方形,自动添加到后面。
其中有一个文本,通过INput函数来输入。
功能很简单,大多代码用来对图形对象的确定方面来了。
具体代码如下图所示:
NO.3
复制图形完全代码
Private Sub CommandButton1_Click()
Dim w As Worksheet
Set w = ActiveSheet
Dim s As Shape, ss As Shape, sEnd As Shape, x As Long
x = w.Shapes.Count
Set sEnd = w.Shapes(x)
Set s = w.Shapes.AddShape(Type:=msoShapeRectangle, _
Left:=100, Top:=50, Width:=120, Height:=28)
'添加一个长方形
Set ss = w.Shapes(2)
ss.PickUp
Dim TexValue As String
TexValue = VBA.InputBox("文本内容", "输入文件内容!", "文本1")
With s
.Apply'应用图形属性
.Left = sEnd.Left + sEnd.Width + 5
.Top = ss.Top
.Height = ss.Height
.Width = ss.Width
.TextFrame2.TextRange.Characters.Text = TexValue
End With
End Sub
图形应用在Excel中是一个比较好的功能,它可以增加文档表格的界面美观,提高表格的可读性。
所以,对于Shape对象的认识也要加强,许多方法和属性也需要掌握。
这对于做一个漂亮的表格十分有用。
---END---
欢迎关注、收藏