Excel:利用VBA插入网络图片

2025-09-27 12:16:22

1、先把代码要使用得开发工具选显卡勾选出来;

Excel:利用VBA插入网络图片

2、先为各位同学奉上代码,大家可以跟着下面得步骤动手操作下:

Sub InsertPic(图片链接 As String, 插入图片表名 As String, 插入图片单元格地址 As String)

   On Error Resume Next  '容错代码和下面err.number对应代码

   Dim rng As Range

   Set rng = Sheets(插入图片表名).Range(插入图片单元格地址)

   '插入一个矩形框,然后在矩形框上黏贴图片

   With Sheets(插入图片表名).Shapes.AddShape(msoShapeRectangle, _

   rng.Left + 1.5, rng.Top + 1.5, rng.Width - 3, rng.Height - 3).Select

       '为什么用这种方法?因为这样插入的图片会小很多,能节省空间

       Selection.ShapeRange.Fill.UserPicture 图片链接

       '无边框

       Selection.ShapeRange.Line.Visible = msoFalse

       '如果因为未知原因造成出错,我们就删除插入的矩形框

       If Err.Number <> 0 Then

           Selection.Delete

           Err.Clear

       End If

   End With

   Set rng = Nothing

End Sub

‘这个是主程序了,它才是执行得主体,调用上面程序

Sub 插入网络图片()

   Dim lngRow As Long

   Dim i As Long

   '找到当前表的数据最后一行的行号

   lngRow = Cells(Rows.Count, 1).End(xlUp).Row

   '从第3行开始向最后一行循环

   For i = 3 To lngRow

       '调用上面哪个程序,给它B列地址图片网址,当前工作表名字,C列对应单元格插入图片

       Call InsertPic(Cells(i, 2).Value, ActiveSheet.Name, "c" & i)

   Next

End Sub

Excel:利用VBA插入网络图片

3、代码写入模块

Excel:利用VBA插入网络图片

4、插入执行按钮,链接刚刚写得代码

通过按钮,就可以调用我们刚刚写好得VBA程序了

Excel:利用VBA插入网络图片

5、解释:

●  Sub InsertPic程序,是插入单个网络图片代码,可以把它理解为函数(实际它不是)

它有三个参数:

1, 图片链接:就是图片得网络地址

2, 工作表得名字:就是图片这个

3, 插入图片单元格地址:就是A1,B2这样得文本字符串

Excel:利用VBA插入网络图片

6、Sub 插入网络图片  程序

这个主程序

Excel:利用VBA插入网络图片

7、lngRow = Cells(Rows.Count, 1).End(xlUp).Row

表示数据最后一行给变量lngRow记录,括号里面得1,表示A列,这个可以根据你实际数据结构,调整成2,表示B列,3,表示C列,以此类推

For i = 3 To lngRow        

       Call InsertPic(Cells(i, 2).Value, ActiveSheet.Name, "c" & i)

Next

这里是从第三行循环到数据最后一行

Excel:利用VBA插入网络图片

8、每行,给InsertPic三个参数,插入到指定工作表里,指定单元格,指定网址网络图片

①,Cells(i, 2) 表示B列 i行得单元格地址,可以根据你自己数据网址列,改,比如C列,这里可以改为CELLS(I,3) 或者 CELLS(I,”c”)都可以

②,ActiveSheet.Name 当前表名字,你可以理解为固定用法,不用改

③,"c" & i 表示C列得第 i 行插入图片,可以根据自己实际情况调整,比如F列插入图,这改为”F” & i

使用WPS得同学,使用VBA代码,需要百度自己安装程序解决

Excel:利用VBA插入网络图片

9、个人建议

   整体操作流程如下。

Excel:利用VBA插入网络图片

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢