图像的屏幕提示(Microsoft Excel)
埃迪(Eddie)在工作表中添加了一个小的图形图像,并将宏绑定到该图像。单击图像后,将执行宏。 Eddie想知道是否可以在图像上添加标签或注释,以便当用户将鼠标指针悬停在图像上时,标签/注释会出现并告诉用户宏的功能。
您可能一开始可能以为可以将ScreenTip添加到图像,但是只有在为其分配了超链接时才能完成。添加超链接(和ScreenTip)非常容易,但是您会发现超链接优先于宏,从而阻止了其运行。
这意味着您需要寻找其他方法来解决该问题。
不幸的是,没有简单的方法可以创建这种类型的ScreenTip,但是有两种方法可以完成此任务。您可以做的一件事是在工作表中添加一个命令按钮,然后将图像分配给该按钮。然后将整个图像用作按钮。当您单击按钮时,它将执行CommandButton1_Click事件处理程序(假设您使用命令按钮的默认名称)。
接下来,您需要创建一个类似于ScreenTip外观的文本框。实际上,与常规的ScreenTip相比,该文本框为您提供了更大的自由度,因为它可以按照您希望的任何方式进行格式化,并且可以包含您想要的任何解释性文本。您需要做的就是确保为文本框指定一个唯一的名称,例如“ MyShape”。 (您可以通过选择文本框的名称,然后在工作表区域左上角的“名称”框中更改名称)。
放置命令按钮和文本框后,右键单击命令按钮,然后选择显示命令按钮的代码窗口。然后,将以下代码添加到代码窗口:
Private Sub CommandButton1_Click() 'Call your regular macro here Hide_Shape End Sub
Private Sub CommandButton1_MouseMove( _ ByVal Button As Integer, ByVal Shift As Integer, _ ByVal X As Single, ByVal Y As Single) Display_and_Hide_Shape End Sub
您需要修改该Click事件处理程序才能调用常规宏代码。将鼠标移到命令按钮上时,将执行MouseMove代码。在这种情况下,代码将显示您创建的文本框。
接下来,将以下宏插入标准宏模块。这两个宏显示和隐藏您创建的文本框形状。请注意,第一个宏使用OnTime方法在形状第一次显示后两秒钟自动隐藏形状。
Sub Display_and_Hide_Shape() ActiveSheet.Shapes("MyShape").Visible = True ' adjust time Application.OnTime Now + TimeValue("00:00:02"), "Hide_Shape" End Sub
Sub Hide_Shape() ActiveSheet.Shapes("MyShape").Visible = False End Sub
放置所有宏后,只需将鼠标指针移到命令按钮图像上即可。文本框应在两秒钟后消失,仅在将鼠标再次移到图像上方时才会重新出现。
另一种方法是将图片嵌入图表对象中,使用要在屏幕提示中显示的任何文本来命名图片,然后将宏分配给图表对象。这听起来可能有点令人困惑,但是通过执行以下一般步骤相对容易做到:
。创建一个空白图表对象。只需选择一个空白单元格,选择插入图表,然后立即单击“完成”按钮,即可完成此操作。该图表将不包含任何内容,这就是为什么它是“空白图表对象”的原因。
。接下来将图片添加到图表对象。只需将图片复制到剪贴板,然后选择空白图表对象(您在步骤1中创建的对象),然后粘贴剪贴板的内容即可。
。调整图表对象和图表对象中图片的大小,以使其代表您的需求。
。选择图表对象中的图片,然后通过更改工作表区域左上角的“名称”框中的名称为图片命名。该名称应该是您要显示为屏幕提示的文本。
。现在,通过右键单击统计图对象并选择“分配宏”,将您的宏分配给统计图对象(而不是统计图对象中的图片)。
而已。现在,当您将鼠标指针移到图像上时,图像的名称显示为屏幕提示,如果单击,则将执行分配给图表对象的宏。
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(724)适用于Microsoft Excel 2007、2010和2013。您可以在以下旧版Excel菜单界面中找到该技巧的版本: