- ·上一篇:阿一教你微课制作,幻灯片教学微课制作
- ·下一篇:那些好看的中国风字体,幻灯片最好看的中国字体
如何用VBA代码新建自选图形,还不会,马上来学
No.1
Excel中为我们提供了许多自选图片的创建,可以极大地丰富表格表现形式,是日常工作当中一个重要的操作。
一个优秀的表格,离不开图形化的展示。除可以直观地表达出数据内容,还是一个文本操作技术的体现。
下面我们来学习一下,如何利用vba代码进行自选图形的创建,删除,修改等操作。
No.2
自定义图形就是各种大小不同,颜色各异,形状怪异的封闭区域。
太多的类型也只是让我们选择不同的参数,所以这方面不是十分难理解,操作也方便。
而要记住那么多类型的枚举关键字,也真得没必要。
下图为例:
第一个组合框内已经导入了所有自定义的枚举类型,共184种图形。
第二个组合框内是类型值。
两按钮分别实现新建和清除功能。
看上去还可以。
No.3
下面是重点,如何新建图形。
利用AddShape方法,此方法是隶属于Shapes对象之下,所以要写作如下形式:
Shapes.AddShape(参数)
参数包括:形状类型,左上角位置,顶部位置,图形宽度,图形高度
所有参数都是必须选择所以完整的代码格式如下:
Shapes.AddShape(Type,Left,Top,Width,Height)
具体解释可参考下图:
下图为Type参数枚举类型,就是说想要新建什么图形就选择哪个值即可。
No.4
新建图形代码
Private Sub CommandButton1_Click()
Dim w As Worksheet
Set w = ThisWorkbook.ActiveSheet
srange = Me.ComboBox2.Value
If Not VBA.IsNumeric(srange) Then Exit Sub
Ln = CInt((Me.Shapes.Count - 4)) * 105'左边距位置
Tn = ((CInt((Me.Shapes.Count - 4)) 10) + 1) * 100'顶点位置
Dim s As Shape
Set s = w.Shapes.AddShape(srange, Ln, Tn, 100, 100)'新建图形
With s.Fill
.ForeColor.RGB = RGB(122, srange, 211)'设置图形颜色
End With
End Sub
清除图形代码
Sub DelShape()
Dim s As Shape
For Each s In ActiveSheet.Shapes
If s.Type = 1 Then
s.Delete
End If
Next s
End Sub
举一反三,自选图形应用十分广泛,由于不同的数据结构和内容,利用图形化做出来的表格,完全已经不是一个表格的意义,所以,对于图形视觉有很好理解的人,会做出相当好的文档表格。
---END---
欢迎关注、收藏