学习Excel技术,关注微信公众号:
excelperfect
下面的自定义函数使用Shapes集合对象的AddShape方法及其参数,可以在指定的单元格中插入指定的形状。
Function AddShapeToRange( _
ShapeType As MsoAutoShapeType, _
sAddress As String) As Shape
With ActiveSheet.Range(sAddress)
Set AddShapeToRange = _
ActiveSheet.Shapes.AddShape( _
ShapeType, _
.Left, .Top, .Width, .Height)
End With
End Function
代码中的参数ShapeType指定形状的类型,可以是1至137、139至183之间的任意数字,这些数字代表不同的形状。当然,也可以使用内置常量名,例如msoShapeRectangle代表矩形。
参数sAddress指定要添加形状的单元格,字符串形式,例如要在单元格B3中添加形状,则指定参数sAddress的值为B3。
示例
如下图1所示的工作表,列A中是代表形状的常量名,列B中是对应的常量值。
图1
下面的代码在列C中添加对应的形状:
Sub AddShape()
Dim shp As Shape
Dim rng As Range
For Each rng In Range("B2:B184")
Set shp = AddShapeToRange(rng.Value,"C" & rng.Row)
Next rng
End Sub
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有