前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA实用小程序50: 在指定的单元格中插入指定的形状

VBA实用小程序50: 在指定的单元格中插入指定的形状

作者头像
fanjy
发布2019-07-19 14:32:10
2.4K0
发布2019-07-19 14:32:10
举报
文章被收录于专栏:完美Excel

学习Excel技术,关注微信公众号:

excelperfect

下面的自定义函数使用Shapes集合对象的AddShape方法及其参数,可以在指定的单元格中插入指定的形状。

代码语言:javascript
复制
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中添加对应的形状:

代码语言:javascript
复制
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 
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档