KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中实现鼠标悬停时显示图片?

作者修改日期

有时,您可能希望创建更具交互性的 Excel 工作表——仅在用户将鼠标悬停于特定单元格时才显示图像。这种方法尤其适用于提供与数据条目关联的视觉参考、说明或产品图片,避免因始终可见的图形导致工作表显得杂乱。本指南将介绍几种在 Excel 中实现“鼠标悬停显示图像”的方法,包括以弹出窗口或工具提示形式呈现,每种方法均有其适用场景与局限性。根据您的具体需求——无论是显示图像、纯文本工具提示,还是更高级的交互功能——总有一种解决方案更适合您的工作流程。

通过使用批注插入弹出图片

使用 VBA 在鼠标悬停时动态显示弹出图像

通过数据验证输入信息显示工具提示


蓝色右向箭头气泡通过使用批注插入弹出图片

在 Excel 中,一种实用的方法是将图像插入批注(在某些较新版本中也称为“备注”),从而实现仅在鼠标悬停于单元格时显示图像。这种方法提供了一种简洁直观的方式,让用户将鼠标指向单元格即可弹出图像。

此方法的常见应用场景包括展示参考图、产品图片或用于说明数据点的图像。其主要优势在于无需依赖 VBA 或外部加载项,因而兼容性更广、管理更简便。不过,批注在 Excel Online 中不受支持,且在格式设置与交互性方面可能不如更高级的解决方案灵活。

1. 选择您希望显示弹出图像的单元格,右键单击该单元格,然后从上下文菜单中选择插入批注(或“新建备注”,具体取决于您的版本)。参见截图:

通过插入批注弹出图片

2. 批注框出现后,将指针悬停在批注边缘,直至光标变为带箭头的十字形,右键单击边框,然后选择格式化批注。参见截图:

设置批注格式

3. 在格式化批注对话框中,单击颜色和线条选项卡,接着点击颜色下方的下拉箭头,并从列表中选择填充效果。参见截图:

在“设置批注格式”对话框中设置选项

4. 在弹出的对话框中,切换到图片选项卡,点击选择图片,导航并选中您要显示的图像,然后单击插入。参见截图:

选择要插入到批注中的图片

注意:在 Excel 2013 或更高版本中,请在填充效果对话框中点击选择图片按钮时,务必使用来自文件选项选择您的图像,然后单击插入

5. 依次单击各对话框中的确定按钮,即可确认更改并关闭对话框。现在,您所选单元格的批注中将显示该图像。参见截图:

一张图片已插入到批注中

6. 您或许希望个性化批注,删除默认的用户名文本。单击批注中的文字,移除名称,仅保留图像。
将鼠标悬停在单元格上时弹出图片

提示:为确保批注仅在鼠标悬停时显示而不始终可见,请确认审阅选项卡中的显示所有批注未启用。

关闭“显示所有批注”功能

此方法非常适合在中小型工作表中偶尔将图像作为弹出窗口添加;但若您需要更高级的交互性、动态更新图像,或在大型工作表中支持大量图像,请考虑采用下文所述的基于 VBA 或单元格联动的交互式方案。

常见问题包括:若批注被隐藏,或批注框过小无法容纳图像,则图像可能无法正常显示。为确保最佳显示效果,请务必检查图像尺寸与批注框大小。


蓝色右向箭头气泡 使用 VBA 在鼠标悬停时动态显示弹出图像

对于需要更灵活地控制图像显示方式和时机的场景——例如,在鼠标悬停于特定单元格时,将图像以自定义弹出窗口或富媒体工具提示的形式呈现——建议采用 VBA 解决方案。该方法支持通过编程动态显示或隐藏图像,尤其适用于大型数据集、交互式仪表板,以及图像需随数据实时变化的应用场景。

此方法最适合以下需求:

  • 根据鼠标悬停的单元格,弹出不同尺寸或格式的图像
  • 支持动态更新图像,同时最大程度减少工作表杂乱
  • 相比基于批注的标准图像,对显示行为拥有更多控制权

潜在缺点:VBA 解决方案在 Excel Online 中不受支持,也不适用于未启用宏的用户,且可能需要额外的设置和基础的 VBA 知识。此外,由于宏安全设置的限制,分发此类文件时需格外谨慎。

操作步骤:

1. 打开您希望显示弹出图像的工作表,右键单击工作表标签,然后从上下文菜单中选择查看代码

2. 将以下代码复制并粘贴到工作表的代码窗口中(而非标准模块):

Dim popUpPic As Picture
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    
    If Not popUpPic Is Nothing Then
        popUpPic.Delete
    End If
    
    ' Optional: Only run for a specific range, e.g. B2:B5
    If Not Intersect(Target, Range("B2:B5")) Is Nothing Then
        Set popUpPic = ActiveSheet.Pictures.Insert("C:\YourImagePath\yourimage.jpg")
        
        With popUpPic
            .Top = Target.Top
            .Left = Target.Offset(0, 1).Left
            .Height = 80 ' Adjust size as needed
            .Width = 80
            .Placement = xlMoveAndSize
        End With
    End If
End Sub

注意

  • 修改 Range("B2:B5"),使其匹配您希望图像弹出的单元格区域。
  • 请将 "C:\YourImagePath\yourimage.jpg"替换为您实际的图像路径。
  • 如果您希望为每个单元格应用不同的图像,请尝试以下 VBA 代码。
    Dim popUpPic As Picture
    'Updated by Extendoffice.com 2025/7/11
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        On Error Resume Next
    
        If Not popUpPic Is Nothing Then
            popUpPic.Delete
        End If
    
        If Not Intersect(Target, Me.Range("B2:B5")) Is Nothing Then
            Dim imgPath As String
    
            Select Case Target.Address
                Case "$B$2"
                    imgPath = "C:\Users\Win10x64Test\Desktop\fruits\durian.jpg"
                Case "$B$3"
                    imgPath = "C:\Users\Win10x64Test\Desktop\fruits\Mango.jpg"
                Case "$B$4"
                    imgPath = "C:\Users\Win10x64Test\Desktop\fruits\orange.jpg"
                Case "$B$5"
                    imgPath = "C:\Users\Win10x64Test\Desktop\fruits\strawberry.jpg"
                Case Else
                    imgPath = ""
            End Select
    
            If imgPath <> "" Then
                Set popUpPic = Me.Pictures.Insert(imgPath)
                With popUpPic
                    .Top = Target.Top
                    .Left = Target.Offset(0, 1).Left
                    .Height = 80
                    .Width = 80
                    .Placement = xlMoveAndSize
                End With
            End If
        End If
    End Sub
  • 此代码示例可在用户选择指定区域内的单元格时显示图像;类似逻辑也可适配于 Worksheet_BeforeDoubleClickWorksheet_BeforeRightClick,以实现其他触发事件。

3. 关闭 VBA 编辑器并返回 Excel,在您的限定区域中选择一个单元格即可显示弹出图像;当选中其他单元格时,图像将自动隐藏。

如遇错误,请确保宏设置允许运行 VBA 代码,并确认图像路径正确无误。分发文件时,请提醒用户启用宏,以确保此功能正常运行。


蓝色右向箭头气泡通过数据验证输入信息显示工具提示

如果您只需在用户将鼠标悬停于单元格时显示基于文本的工具提示以提供附加信息,可直接使用 Excel 内置的“数据验证输入信息”功能。虽然此方法不支持图像显示,但能以弹出窗口的形式轻松提供说明、指导或警告,且无需编写任何代码。该功能特别适用于表单、调查或教育模板等场景,在鼠标悬停时即可呈现简洁明了的指引或上下文信息。

设置方法:

  • 选择您希望显示工具提示的单元格或区域。
  • 转到数据选项卡,点击数据验证
  • 数据验证对话框中,切换到输入信息选项卡。
  • 勾选选定单元格时显示输入信息,并输入标题和输入信息(最多 255 个字符)。
  • 单击确定。现在,当您选中单元格或鼠标悬停其上时,自定义工具提示将立即显示。

局限性:输入的信息仅显示为文本(不支持图像),且当单元格取消选中后,提示信息会立即消失。如需图形化弹出窗口,请参阅上述其他方法。

此方法兼容性强,无需宏支持,且可随时轻松更新或移除。若您需要在多个数据输入单元格中提供简洁明了的文本提示或提醒,这无疑是一种实用高效的解决方案。

每种方法各具优势:对于少量单元格,批注图片添加便捷;VBA 最适合动态或大批量处理;结合辅助宏的超链接可实现交互式图片更新;而数据验证输入消息则适用于基于文本的弹出提示。选择解决方案时,请充分考虑工作表用户的需求与平台兼容性。若遇到图片不显示、文本未更新或宏相关警告等常见问题,请仔细检查单元格范围、宏权限及图片文件路径。如需更强功能或更自动化的流程,可借助额外的 Excel 加载项(例如 Kutools for Excel)获得更高效的解决方案。

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱