【Excel VBA】2018-09-30 指定单元格位置批量插入图片

案例

案例来源:Excel和Access (微信公众号)点击 - 查看原文

案例图一

在指定单元格位置,批量插入多张图片。

附件:点击查看-百度云
提取密码:i4n0

一、数据源代码

复制代码到Excel 表里,可以直接生案例数据。

Sub 数据源代码()
    '录入数据
    Cells(1, 1) = "代号"
    Cells(1, 2) = "姓名"
    Cells(1, 3) = "部门"
    Cells(1, 4) = "照片"
    Cells(2, 1) = "A12"
    Cells(2, 2) = "何炅"
    Cells(2, 3) = "技术部"
    Cells(3, 1) = "A13"
    Cells(3, 2) = "赵薇"
    Cells(3, 3) = "开发部"
    Cells(4, 1) = "A14"
    Cells(4, 2) = "黄渤"
    Cells(4, 3) = "发展部"
    Cells(5, 1) = "A15"
    Cells(5, 2) = "胡歌"
    Cells(5, 3) = "销售部"
    
    '调整格式
    
    With Range("a1:d1")
        .Font.Size = 16
        .Font.Bold = True
        .Interior.ColorIndex = 15 '设置背景颜色
        .HorizontalAlignment = xlCenter
    End With
    
    With Range("a2:d5")
        .RowHeight = 93  '行高93
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
    End With
    Range("d:d").ColumnWidth = 13 '照片列宽13
    
    Range("a1:d5").Borders.LineStyle = 1
    ActiveWindow.DisplayGridlines = False
End Sub
  • .RowHeight 设置行高
  • .ColumnWidth 设置列宽

二、插入图片

Sub 指定单元格位置插入图片()
    Dim strPic As String
    Dim i, n As Integer
    
    n = 1000 '预设查询1000个位置
    
    For i = 2 To Range("b" & n).End(xlUp).Row
        strPic = ThisWorkbook.Path & "\2018-09-30 指定单元格位置批量插入图片例图\" & Range("b" & i) & ".jpg"
        If Dir(strPic) <> "" Then
            ActiveSheet.Shapes.AddPicture strPic, True, True, 157, 21 + (i - 2) * 93, 81, 92
        End If
                
    Next
    
End Sub
  • .Shapes.AddPicture 插入对象,链接到文件,一起保存,左上角位置,顶端位置,宽度,高度

Dir函数,用于判断文件是否存在;
Shapes.AddPicture 插入图片。


三、删除图片

Sub 删除所有图片()
Dim Shp As Shape

For Each Shp In ActiveSheet.Shapes
    If Shp.Type = msoLinkedPicture Then Shp.Delete

Next

End Sub

1 首先定义Shp是Shape形状类型;
2 然后定位,Shp在激活的表里,归属于Shapes其中一员;
3 循环判断,如果Shp的类型是链接图片类型,则删除Shp文件;
4 Shap类型参考,可以使用参数名,也可使用参数值。

Shap类型参考图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 吃饭吃到7分饱虽然让人一瞬间稍感欠缺,但却提供了更长时间的自我把控感。 有房有钱了,就容易瞻前顾后、不思进取。所以...
    百词斩日记阅读 373评论 0 0
  • 今年的我已经不小了,但是脑子依然简单,放任时光自流,不喜欢交际,不喜欢出去玩儿,不喜欢谈朋友,不喜欢……好像不喜...
    喜冬儿阅读 257评论 0 2