如果关于插入图像和重新调整大小的不同线程已经阅读了很多,但找不到完全符合我想要它做的事情。
所以说我有一个有 2 行的电子表格。A列是图像列,B列是图像名称。
我想要一个脚本来遍历 B 列中的每个值,将与该名称匹配的图像插入到 A 列的同一行中,调整其大小以适应 150 高 x 18 宽的单元格大小,然后移动到下一行并重复电子表格。
这是一个示例,它将遍历您可以修改的一系列单元格 (B1:B100),并使用左侧一列单元格中的文件名(因此,从 A 列开始),并调整图像大小以适合单元格在 B 栏中。
Sub InsertPic()
Dim pic As String 'file path of pic
Dim myPicture As Picture 'embedded pic
Dim rng As Range 'range over which we will iterate
Dim cl As Range 'iterator
Set rng = Range("B7:B7")
For Each cl In rng
pic = cl.Offset(0, -1)
Set myPicture = ActiveSheet.Pictures.Insert(pic)
'
With myPicture
.ShapeRange.LockAspectRatio = msoFalse
.Width = cl.Width
.Height = cl.Height
.Top = Rows(cl.Row).Top
.Left = Columns(cl.Column).Left
End With
'
Next
End Sub
此代码中没有错误处理来解释无效文件名,您可能需要添加它。