当前位置:首页教育技巧excel技巧excel表格单元

替换excel2019工作表中图片怎么保持图片位置和大小不变?

减小字体 增大字体 2025-12-09 09:21:36


Q我原先在工作表中放置了一个图片,现在我想使用新的图片来替换该图片,但是要保持图片的位置和大小不变,如何使用VBA代码实现?

A:在VBE中插入一个标准模块,输入如下代码:

SubChangePicLoc()

On Error GoTo ErrHandle

Dim blnFlag As Boolean

Dim shp As Shape

Dim dblTop As Double

Dim dblLeft As Double

Dim dblHeight As Double

Dim dblWidth As Double

Dim FileToOpen As Variant

‘检查所选取的是形状还是单元格

blnFlag = False

For Each shp In ActiveSheet.Shapes

If shp.Name = Selection.Name Then

blnFlag = True

Exit For

Else

blnFlag = False

End If

Next shp

ErrHandle:

On Error GoTo endHandle

If blnFlag = True Then

With Selection.ShapeRange

‘保存所选图片的属性

dblTop = .Top

dblLeft = .Left

dblHeight = .Height

dblWidth = .Width

End With

‘删除所选图片

Selection.Copy

Selection.Delete

‘插入新图片

FileToOpen =Application.GetOpenFilename

If FileToOpen <> False Then

ActiveSheet.Pictures.Insert(FileToOpen).Select

Else

MsgBox “没有选择图片文件!”

ActiveSheet.Paste

End If

‘将原图片属性应用于新图片

With Selection.ShapeRange

.Top = dblTop

.Left = dblLeft

.Height = dblHeight

.Width = dblWidth

End With

Else

MsgBox “请选择图片,不要选择单元格区域.”

End If

endHandle:

End Sub

首先选取工作表中要替换的图片,然后运行代码,效果如下所示。

评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

【免责声明】本站信息来自网友投稿及网络整理,内容仅供参考,如果有错误请反馈给我们及时更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任。
版权所有:学窍知识网 Copyright © 2011-2026 www.at317.com All Rights Reserved .