Excel 粘贴图片到指定单元格自动调整大小
3个回答
展开全部
以下代码,选择单元格执行,不管是单个单元格,还是合并的单元格,自动把粘贴板内的图片粘贴到所选单元格内,并调整大小,当图片宽高比和单元格的不一致时,自动居中摆放。
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
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
展开全部
写代码处理。。。。
更多追问追答
追问
求代码
追答
要看你具体的Excel文档,不好妄自揣测。(如果不方便可以根据实际情况模拟数据)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个写个代码就好了
你自己录个宏嘛,改改
你自己录个宏嘛,改改
更多追问追答
追问
不会啊
追答
养帮忙么?不免
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询