准备
图片路径下的三张图片,分布命名为01.jpg、02.jpg、03.jpg。
A2单元格中输入01,A3单元格中输入02,A4单元格中输入03。
想要效果是在F2单元格中插入01.jpg,F3单元格中插入02.jpg,F4单元格中插入03.jpg。且图片大小为150*150。
代码块
Sub InsertP()
Dim c As Range, i As Integer
For Each c In Range("A2:A4")
Range("F" & c.Row).Select
ActiveSheet.Pictures.Insert("*\图片\" & c.Value & ".jpg").Select
Selection.Placement = xlMoveAndSize
Selection.ShapeRange.Height = 150
Selection.ShapeRange.Width = 150
Application.CommandBars("Format Object").Visible = False
Next
End Sub
Sub是宏的开始,End Sub是宏的结束。Sub后面的InsertP是宏的名称,可以随意取名。在Sub和End Sub之间的代码就是宏的主体。在这个宏中,我们使用了一个For Each循环,循环的范围是A2:A4,也就是说,我们要在A2:A4这三个单元格中的内容分别作为图片的名称,然后在F2:F4这三个单元格中插入图片。
Dim c As Range表示定义一个变量c,这个变量的类型是Range。For Each后面的c表示循环中的变量,也就是说,我们在循环中使用的变量是c。For Each后面的Range(“A2:A4”)表示循环的范围,也就是说,我们要循环A2:A4这三个单元格。
Range(“F” & c.Row).Select表示选中F2、F3、F4这三个单元格。
ActiveSheet.Pictures.Insert(“*\图片" & c.Value & “.jpg”).Select表示在选中的单元格中插入图片,其中*表示当前文件的路径,\图片\表示图片文件夹的路径,c.Value表示A2、A3、A4这三个单元格中的内容,.jpg表示图片的格式。Selection.Placement = xlMoveAndSize表示图片的位置和大小可以随单元格的大小而改变。Selection.ShapeRange.Height = 150表示图片的高度为150。Selection.ShapeRange.Width = 150表示图片的宽度为150。Application.CommandBars(“Format Object”).Visible = False表示隐藏图片的边框。
*换成对应的文件路径。