Excel选择单元格时显示相应的图片

2025-10-01 06:21:21

1、打开Excel表格文档,点击【开发工具】、【Visual Basic】打开VBA编辑器,也可以使用【Alt+F11】组合键打开VBA编辑器。

Excel选择单元格时显示相应的图片

2、在VBA编辑器左侧的工程项目下面双击“Sheet1”,然后输入以下程序代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)  '单元格变更选择时执行

Application.EnableEvents = False    '开启代码只执行一次

Dim i, cou1, arr, str

On Error Resume Next                '忽略运行出现的错误

Application.ScreenUpdating = False  '关闭工作表更新,提高运行速度

Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")

  cou1 = mysheet1.Shapes.Count  '统计工作表里边图形数量

  mysheet1.Cells(1, 7) = ""     '清空G1单元格里面的数值

    If cou1 > 0 Then            '如果图形数量大于1,则执行

      For i = 1 To cou1

       If mysheet1.Shapes(i).Top = mysheet1.Cells(1, 7).Top And _

         mysheet1.Shapes(i).Left = mysheet1.Cells(1, 7).Left Then

         mysheet1.Shapes(i).Delete   '如果是图形的位置,则删除图形

       End If

      Next

    End If

If Target.Column = 1 And Target.Columns.Count = 1 And Target.Value <> "" Then

'如果选择第一列且只有1个单元格(不为空白),则执行

   arr = Array(".jpg", ".jpeg", ".png", ".bmp", ".gif", ".tif")  '图片格式集合

     For Each x In arr      '执行图片格式组里面的每一个尝试

      str = "D:\图片文件\" & Target.Value & x  '图片路径

        If Dir(str) <> "" Then '如果图片存在,则执行

          mysheet1.Pictures.Insert(str).Select     '插入图片

           With Selection.ShapeRange

            .LockAspectRatio = msoFalse            '不锁定图片的比例

            .Height = mysheet1.Cells(1, 7).Height  '图片的高度设为单元格高度

            .Width = mysheet1.Cells(1, 7).Width

            .Top = mysheet1.Cells(1, 7).Top        '图片的位置为单元格G1到顶部的距离

            .Left = mysheet1.Cells(1, 7).Left      '图片的位置置为单元格G1到左侧的距离

           End With

          Exit For                                 '导入图片后,退出For循环

        Else

         mysheet1.Cells(1, 7) = "相片不存在"       '否则将显示照片不存在

       End If

      Next

End If

Target.Select                        '追踪单元格选择

Application.EnableEvents = True      '恢复代码只执行一次

Application.ScreenUpdating = True    '恢复更新显示

End Sub

Excel选择单元格时显示相应的图片

3、回到Excel工作表界面,选择A列的单元格时,将会在G1单元格显示出相应的图片,实现想要的功能。

Excel选择单元格时显示相应的图片

Excel选择单元格时显示相应的图片

4、如果写入代码之后点击工作表格时没有执行,检查一下Excel表格是否已经启用了宏。宏的启用/查看方法为:

(1)点击【文件】、【选项】;

(2)点击【信任中心】、【信任中心设置】;

(3)点击【宏设置】,选择“启用所有宏”并点击【确定】,关闭工作薄之后重新打开,选择相应的单元格将会看到执行的结果。

Excel选择单元格时显示相应的图片

Excel选择单元格时显示相应的图片

Excel选择单元格时显示相应的图片

5、由于每次插入图片的名称都会改变,此时不可能从名称上面入手,只能从插入图片的位置判断并把它删除。当然也不能全部删除,毕竟表格上面可能还有其他图片存在。

Excel选择单元格时显示相应的图片

Excel选择单元格时显示相应的图片

6、通过判断是否选择了A列的单元格,再决定是否需要查找相应的图片并插入,以提高工作表的响应速度。

Excel选择单元格时显示相应的图片

7、图片的路径通常由文件夹路径+文件名称+文件格式构成,文件夹路径相对固定,但图片名称会随着单元格的选择而改变,其改变之后,需要找到与之相匹配的格式才算是完整的路径,图片文件才可以插入。

Excel选择单元格时显示相应的图片

Excel选择单元格时显示相应的图片

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