EXCEL vba插入自动调整图片

Sub逐个导入图片()DimshpAsShapeDimrAsIntegerDimflAsString'图片所在文件夹DimPicPathAsString'图片名称所在目录... Sub 逐个导入图片()

Dim shp As Shape
Dim r As Integer
Dim fl As String '图片所在文件夹
Dim PicPath As String '图片名称所在目录
Dim Picrng As Range '图片导入单元格
'选择文件夹,默认是当前工作簿所在文件夹
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Filters.Clear
'清除文件过滤器
.Filters.Add "图片文件", "*.jpg;*.jpeg;*.bmp;*.png"
.Filters.Add "All Files", "*.*"
If .Show = -1 Then
fl = .SelectedItems(1)
Else
Exit Sub
End If
End With
With ActiveSheet
PicPath = fl
If Dir(PicPath) <> "" Then
Set shp = .Shapes.AddPicture(PicPath, False, True, 0, 0, -1, -1)
Set Picrng = ActiveCell '设定图片插入单元格为活动单元格
With shp
.LockAspectRatio = msoFalse '纵横比可调整
.Top = Picrng.Top + 1
.Left = Picrng.Left + 1
.Width = Picrng.Width - 1.5
.Height = Picrng.Height - 1.5
End With
End If
End With
Set shp = Nothing
Set Picrng = Nothing
End Sub

像这个代码如何修改可以
①使插入的图片大小和位置随单元格而变
②使图片充满单元格而不是留一点缝隙
展开
 我来答
绿衣人敲门
推荐于2016-05-15 · 知道合伙人软件行家
绿衣人敲门
知道合伙人软件行家
采纳数:18765 获赞数:63777
毕业于西北大学计算机网络技术专业,现在在西安电力学院进行网络推广维护工作!

向TA提问 私信TA
展开全部
方法:

sub 图片导入
dim s as shape
dim rg as range
'删除已有的图片
for each s in activesheet.shapes
if s.type <> 8 then
s.delete
end if
'导入图片
for each rg in range("B2:B10")'这里放要插入图片的单元格范围 B2:B10可以改成你所需要的范围
activesheet.shapes.addshape(msoshaperectangle,rg.left,rg.top,rg.width,rg.height).select
selection.shaperange.fill.userpicture "E:\图片"& rg.offset(0, -1) & ".jpg"'这里指定的是图片的存储路径为E盘下的图片文件夹,然后图片名称与A列的数据一致,后缀名为JPG格式。这些你都可以自行更改。根据需要来定
next rg
end sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
skyzxh

推荐于2017-12-16 · 知道合伙人软件行家
skyzxh
知道合伙人软件行家
采纳数:2623 获赞数:8344
毕业于中科院,硕士,30年工程从业经验。现任公司技术负责。

向TA提问 私信TA
展开全部
这句 Set Picrng = ActiveCell 本身就是插入的图片大小和位置随单元格而变

不留缝隙该这几句如下:

.Top = Picrng.Top
.Left = Picrng.Left
.Width = Picrng.Width
.Height = Picrng.Height
追问
第二个问题解决了,但是第一个,插入的图片不会随单元格放大缩小或者隐藏而变化的,只能手动去图片属性里面去调整图片位置选项里面的 图片大小和位置随单元格而变,请问能通过Selection.Placement = xlFreeFloating类似的修改吗?代码不知道怎么加
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式