1、在表格文档的相同目录下新建一个“图片”文件夹,并且把图片都复制到这个文件夹里面,注意图片的名称要和表格里面的一样哦
2、开启宏功能,如果已经开启了可以跳过这一步,如果使用的是WPS,需要在网上下载一个WPS宏插件,百度一下会有很多
3、打开vba编辑器
4、把以下代码复制到新建的模块对象里:Option Exp盟敢势袂licitOption Compare TextSub insert霸烹钟爷Picture()Application.ScreenUpdating = False Dim jiaoji As Object, wenjian Set jiaoji = Intersect(Selection, Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)) '''这行的意思是想要显示图片的那一列,"A2:A"表示从A2开始直到A列最后一个有内容的单元格,如果是其他列,把A改成其他的列号,然后把1改成对应的列数 If Not jiaoji Is Nothing Then wenjian = Dir(ThisWorkbook.Path & "\图片\") Do If wenjian = ActiveCell.Value & ".JPG" Then Dim tupian As Object Set tupian = ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\图片\" & ActiveCell.Value & ".jpg") '''这里的“图片”是文件夹的名称,只要和文件夹的名称保持一致就可以随意更改的 With tupian .Name = "唯独雨中影" & ActiveCell.Value & ".jpg" .Height = 285 '''285是图片的高度,可以自行更改 .Left = ActiveCell(1, 2).Left End With GoTo tuichu Else wenjian = Dir End If Loop Until wenjian = "" End IfSet jiaoji = NothingSet tupian = Nothingtuichu:Application.ScreenUpdating = FalseEnd SubSub deleteImages() Dim pic As Shape For Each pic In ActiveSheet.Shapes If pic.Name Like "*唯独雨中影*" Then pic.Delete End If Next Set pic = NothingEnd Sub
5、这里要注意一下,左边痘痉颔湄那里会显示工作簿里面所有工作表的名称,这个操作在哪个工作表,双击这个工作表然后把下面的代码复制进去就可以了Optio荏鱿胫协n ExplicitPrivate Sub Worksheet_SelectionChange(ByVal Target As Range) '''选择的单元格改变时触发的事件 If Selection.Count < 2 Then Call deleteImages Call insertPicture Else Call deleteImages End IfEnd Sub
6、添加完之后保存就可以看到这个类似图片预览的功能了,