先来看看问题
如图,Excel工作表中保存了一些图片的链接,现要将这些链接转为图片,保存到链接右侧的一列单元格中。

VBA解决办法
按Alt+F11打开VBE,插入一个模块,在其中写入下面的过程:
Sub 获取网络图片()
Dim Rng As Range, PicRng As Range
For Each Rng In Selection
If UCase(Rng.Value) Like "*.JPG" Or UCase(Rng.Value) Like "*.JPEG" Or UCase(Rng.Value) Like "*.PNG" Or UCase(Rng.Value) Like "*.GIF" Then
Set PicRng = Rng.Offset(0, 1)
With ActiveSheet.Pictures.Insert(Rng.Value)
If .Height / .Width > PicRng.Height / PicRng.Width Then
.Top = PicRng.Top
.Left = PicRng.Left + (PicRng.Width - .Width * PicRng.Height / .Height) / 2
.Width = .Width * PicRng.Height / .Height
.Height = PicRng.Height
Else
.Left = PicRng.Left
.Top = PicRng.Top + (PicRng.Height - .Height * PicRng.Width / .Width) / 2
.Height = .Height * PicRng.Width / .Width
.Width = PicRng.Width
End If
End With
End If
Next
End Sub
然后调整D列的行高和列宽(适合保存图片的大小),选中要转为图片的链接单元格,执行这个过程,就能将选中的链接转为图片了。

我是叶枫,感谢你的阅读。
点击下面的“了解更多”,查看视频演示。