解决vba插入图片后图片无法显示的问题

 时间:2026-02-15 13:21:09

1、你遇到的问题是不是这样:无法显示连接的图像。该文件可能已被移动、重命名或删除。请验证该连接是否指向正确的文件和位置。

解决vba插入图片后图片无法显示的问题

2、据了解,该问题自EXCLE2010(含)之后就出现这个问题,意味着你用的老版本的excel不会出现这个问题。解决方法是将Pictures.Insert替换为Shapes.AddPicture可解决问题。

解决vba插入图片后图片无法显示的问题

3、我是在别人的方法基础上修改替换为Shapes.AddPicture的,解决了通过单元格定位图片插入位置,以及如何原始比例插入图片等问题

解决vba插入图片后图片无法显示的问题

4、首先打开Excel之后,按快捷键:Alt+F11,或者在顶部菜单栏选择“开发工具”→点击“Visual Basic”打开vba编辑器:

解决vba插入图片后图片无法显示的问题

5、在左侧工程栏目下,找到刚才的工作簿,点击右键“插入”→“模块”:

解决vba插入图片后图片无法显示的问题

6、  插入以下代码:

Sub InsertPicture(objSheet As Worksheet, PictureFileName As String, TargetCell As Range, _    CenterH As Boolean, CenterV As Boolean)

Dim p As Object, t As Double, l As Double, w As Double, h As Double

    If TypeName(objSheet) <> "Worksheet" Then Exit Sub

    If Dir(PictureFileName) = "" Then Exit Sub

    '添加图片

    Set p = objSheet.Shapes.AddPicture(PictureFileName, 0, 1, 0, 0, -1, -1)

    ' 定位,如果根据单元格,最后两个参数设置为false

    With TargetCell

        t = .Top

        l = .Left

        If CenterH Then

            w = .Offset(0, 1).Left - .Left

            l = l + w / 2 - p.Width / 2

            If l < 1 Then l = 1

        End If

        If CenterV Then

            h = .Offset(1, 0).Top - .Top

            t = t + h / 2 - p.Height / 2

            If t < 1 Then t = 1

        End If

    End With

    With p

        .Top = t

        .Left = l

    End With

    Set p = Nothing

End Sub

解决vba插入图片后图片无法显示的问题

7、 排版不易,请珍惜,下面给一个使用该方法的列子:

InsertPicture ActiveSheet, "d:\a.png", Cells(2, 2), False, False

解决vba插入图片后图片无法显示的问题

8、完成。

  • vba怎么让状态栏显示提示信息
  • Excel如何用VBA删除重复值?
  • 如何使用VBA对显示或隐藏工作表
  • 在excel中利用VBA实现自动提醒功能
  • 如何使用VBA创建新excel文件
  • 热门搜索
    黄金海岸旅游攻略 朝鲜旅游见闻 广东湛江旅游景点 庄河旅游景点大全 中国雪乡旅游攻略 常州旅游商贸网络课程 上海旅游集散中心官方网站 自助旅游网 旅游宣传片 温州洞头旅游攻略