'第2列数据改变则插入同名图片,图片不变形且居中
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target.Column <> 2 Then Exit Sub
On Error Resume Next
Dim Pic As Object, FN As String
If Target.Count = 1 And Target <> "" And Target.Column = 2 And Target.Row > 4 Then ' Target.Column=数字,这个数字为你输入图片名称单元格所在列的列号,A=1,B=2.....
FN = ThisWorkbook.Path & "\图片\" & Target & ".jpg" '遍历本工作簿路径的“图片”文件夹,查找图片
Shapes(Target.Address).Delete
' Target.Offset(0,1), 其中的数字1代表了显示图片的单元格位置列号与图片名称所在单元格位置列号的差
Set Pic = ActiveSheet.Shapes.AddPicture(FN, True, True, Target.Offset(0, 1).Left + Target.Offset(0, 1).Width * 0.005, Target.Offset(0, 1).Top + Target.Offset(0, 1).Height * 0.005, Target.Offset(0, 1).Width * 0.99, Target.Offset(0, 1).Height * 0.99)
Pic.Name = Target.Address
'ActiveSheet.Hyperlinks.Add Anchor:=Pic, Address:=FN 建立超链接
End If
End Sub
F5 定位-对象,这样可以选定所有图片,再设置格式对齐方式
选中列然后居中不行吗?