这期给大家聊一下如何在Excel中动态查看员工或商品照片。关于这事,之前给大家分享了多种方法。▲动态显示员工照片的档案查询模版如果是多个照片,可以将图片放到批注里。这样当鼠标滑过单元格,就可以看到他或她的照片了。
▲点击图片获取相关教程 不过,当需要查看图片的对象比较多时,后面两种方法,由于将大量图片保存到了工作簿中,会造成Excel体积偏大,运算效率低下等问题。 这种方式并不会将所有图片都储存到工作簿中,但当鼠标选取任意目标时,也可以看到相关图片。 选中目标工作表,在插入选项卡下,依次单击形状→文本框,在当前工作表绘制一个大小合你心意的框。在名称栏中将它的名称修改为图片。 复制以下代码粘贴到目标工作表所在的VBE代码窗口:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Me.Shapes('图片').Visible = msoFalse '隐藏图形 If Target.Rows.Count > 1 Then Exit Sub If Target.Columns.Count > 1 Then Exit Sub If Target.Column <> 1 Then Exit Sub Dim p$, f$ p = ThisWorkbook.Path & '/' f = Dir(p & Target.Value & '.*') '根据所选单元格查找对应图片 If f <> '' Then '如果存在同名称的图片 With Me.Shapes('图片') With .Fill .Visible = msoTrue .UserPicture p & f .TextureTile = msoFalse .RotateWithObject = msoTrue End With .TextFrame2.TextRange.Characters.Text = '' '清除文本 End With Else With Me.Shapes('图片') .Fill.Visible = msoFalse '取消图片填充 .TextFrame2.TextRange.Characters.Text = '查无图片' End With End If With Me.Shapes('图片') '设置可见和位置 .Visible = msoTrue .Left = Target.Offset(0, 1).Left .Top = Target.Top End With End Sub 这个时候鼠标点击任意单元格,如果当前工作簿所在的文件夹内存在该单元格内容的图片,就会自动显示在单元格的右侧了。 打个响指,今天给大家分享的内容就这些,下载案例文件试一下吧。https://pan.baidu.com/s/1V_yVCQyf-bi31XR38BD-PQ?pwd=1234
|