跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

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

Author Sun Last modified

有时,您可能希望通过仅在用户将鼠标悬停在特定单元格上时显示图片,来创建更具交互性的Excel工作表。例如,这在提供视觉参考、说明或与数据条目相关联的产品图片时特别有用,无需用始终可见的图形挤满您的工作表。本指南将介绍几种方法,以实现在Excel中鼠标悬停时显示图片为弹出窗口或工具提示的效果,每种方法都有其适用场景和限制。根据您的需求——无论是需要显示图片、纯文本工具提示还是更高级的交互性——不同的解决方案可能更适合您的工作流程。

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

使用VBA动态显示鼠标悬停时的弹出图片

使用数据验证输入消息显示工具提示


arrow blue right bubble 通过使用批注插入弹出图片

在Excel中,当鼠标悬停在单元格上时仅显示图片的一种实用方法是将图片插入到批注中(在某些较新的Excel版本中也称为备注)。这种方法提供了一种简单的方法,用于创建当用户将鼠标指向单元格时出现的弹出图片。

此方法的常见应用场景包括显示参考图表、产品图片或数据点的解释性图片。该技术的主要好处是不需要使用VBA或外部插件,使其广泛兼容且易于管理。然而,批注在Excel Online中不受支持,并且与更高级的解决方案相比,在格式和交互性方面可能存在限制。

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

pop up image by inserting a comment

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

format the comment

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

set options in the Format Comment dialog box

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

select image to insert into the comment

注意:在Excel2013或更高版本中,点击填充效果对话框中的选择图片按钮后,请确保使用来自文件选项,选择您的图片,并点击插入

5. 单击每个对话框中的确定按钮关闭它们。现在,您的图片将出现在所选单元格的批注中。参见截图:

an image is inserted into the comment

6. 您可能希望个性化批注,删除默认用户名文本。单击批注文本并删除名称,只保留图片。
an image pops up when hovering over a cell

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

turn off the Show All Comments feature

此方法非常适合在小型至中型工作表中添加偶尔的弹出图片,但如果您需要高级交互性、动态图片更新或在更大的工作表中支持大量图片,请考虑使用基于VBA或与单元格链接的交互式方法,如下所述。

常见问题包括如果批注被隐藏或批注框对于图片来说太小,则图片无法显示。请务必检查图片尺寸和批注框大小以获得最佳外观。


arrow blue right bubble 使用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代码运行,并验证图片路径是否正确。分发文件时,请提醒用户启用宏以使此功能生效。


arrow blue right bubble 使用数据验证输入消息显示工具提示

如果您只需要在用户将鼠标悬停在单元格上时显示一个基于文本的工具提示以获取更多信息,可以使用Excel内置的数据验证输入消息功能。虽然此方法不能显示图片,但它提供了一种简单、无代码的方式来提供描述、说明或警告作为弹出窗口。这对于需要在鼠标悬停时提供基本指导或上下文的表格、调查或教育模板非常有用。

如何设置:

  • 选择您希望显示工具提示的单元格或范围。
  • 转到数据选项卡 > 数据验证
  • 数据验证对话框中,转到输入消息选项卡。
  • 勾选当单元格被选中时显示输入消息。输入标题和输入消息(最多255个字符)。
  • 点击确定。现在,当单元格被选中或悬停时,您的自定义工具提示将出现。

限制:输入消息仅显示文本(不显示图片),并且当单元格不再被选中时消息会消失。对于图形弹出窗口,请参见上述其他方法。

此方法广泛兼容,不需要宏,并且可以根据需要轻松更新或删除。如果您需要在许多数据输入单元格中提供简洁的文本提示或提醒,这是一个实用且高效的解决方案。

每种方法都有其优势——批注图片易于添加少量单元格,VBA最适合动态或大批量图片,结合辅助宏的超链接允许交互式图片更新,而数据验证输入消息则适合基于文本的弹出窗口。在选择解决方案时,请仔细考虑您的工作表用户的需求和平台兼容性。如果遇到常见问题,如图片无法显示、文本未更新或宏相关的警告,请仔细检查单元格范围、宏权限和图片文件路径。为了增强功能或实现更自动化的流程,像Kutools for Excel这样的额外Excel插件可以提供更多简化的解决方案。

最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件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中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠