Excel 粘贴图片到指定单元格自动调整大小

需要粘贴图片到不同列的单元格中都按指定的大小自动填充,如何实现?试了几次录制宏都不行;

以下代码,选择单元格执行,不管是单个单元格,还是合并的单元格,自动把粘贴板内的图片粘贴到所选单元格内,并调整大小,当图片宽高比和单元格的不一致时,自动居中摆放。

Sub 粘贴并调整图片大小()

w = ActiveCell.MergeArea.Width '获取单元格宽度
h = ActiveCell.MergeArea.Height '获取单元格高度
l = ActiveCell.Left '获取单位格左侧位置
t = ActiveCell.Top '获取单位格上侧位置

ActiveSheet.Paste '粘贴图片
With Selection.ShapeRange
.Left = l + 2 '调整图片左侧位置
.Top = t + 2 '调整图片上侧位置
.Width = w - 5 '调整图片宽度
End With

If Selection.ShapeRange.Height < h - 5 Then '当图片宽度小于单位元格宽度时
Selection.ShapeRange.Top = t + (h - Selection.ShapeRange.Height) / 2 '图片上下居中放单元格内
Else '当图片宽度天于单位元格宽度时
Selection.ShapeRange.Height = h - 5 '调整图片高度
Selection.ShapeRange.Left = l + (w - Selection.ShapeRange.Width) / 2 '图片左右居中放单元格内
End If
Selection.Placement = xlMoveAndSize '定义图片大小位置随单元格变化而变化

End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-20
写代码处理。。。。追问

求代码

追答

要看你具体的Excel文档,不好妄自揣测。(如果不方便可以根据实际情况模拟数据)

追问

嗯,很简单,我有四列数据,分别需要粘贴不同大小尺寸的图片,只要修改宽度即可,希望在选中某个单元格后表格可以自己判断在哪一列并将我拷贝的图片按定义的尺寸粘贴进去,具体触发条件可以是ctrl+e

嗯,很简单,我有四列数据,分别需要粘贴不同大小尺寸的图片,只要修改宽度即可,希望在选中某个单元格后表格可以自己判断在哪一列并将我拷贝的图片按定义的尺寸粘贴进去,具体触发条件可以是ctrl+e

第2个回答  2018-08-17
这个写个代码就好了
你自己录个宏嘛,改改追问

不会啊

追答

养帮忙么?不免

追问

我录了宏只能是将图片按照指定大小粘贴到选定单元格,但有些单元格我想粘贴其他大小的图片就不知道怎么处理了,求助

本回答被网友采纳
相似回答