首页 > 解决方案 > excel复选框上的鼠标悬停提示

问题描述

很抱歉给大家带来麻烦,但我到处找,没有找到我的目标。

我在 Excel 中有一个带有多个复选框的电子表格。每个都有一个特定的概念显示在它旁边。

当用户将鼠标悬停在复选框上时,我想在复选框下方的单元格中显示每个概念的定义,以便他可以对所选择的内容进行定义。

我在下图中制作了一个模拟版本。

在此处输入图像描述 我怎样才能达到这个效果?

此外,在用户单击并将鼠标移开后,它应该重新启动到初始消息(将鼠标移到显示提示)

有人可以帮忙吗?在这里感到沮丧和绝望。

请具体执行...

非常感谢。

标签: excelvba

解决方案


MouseMove()事件是要使用的事件,它记录在此链接后面

在设计表单(工作表)时,您需要使用 ActiveX 复选框,因为它们提供了MouseMove()事件。在下面的示例代码中,我使用 ActiveX 标签来显示消息。将复选框和标签放在一个公共控件上。我正在寻找一个面板,但找不到,所以我使用了 ActiveXImage控件。面板/图像的目的只是提供一个事件以在鼠标离开任一复选框时重置消息。

编辑Microsoft Forms 2.0 Frame来自的控件Additional controls可能是托管复选框和标签的更好选择。

要编写事件,请打开 Visual Basic 编辑器并选择放置复选框和标签的工作表。在编辑器窗口中,在左侧下拉列表中选择一个复选框,在MouseMove右侧下拉列表中选择事件。

根据需要填写代码,f.ex.:

Private Sub CheckBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Label1.Caption = "This is simply the explanation of what CheckBox1 does."
End Sub

然后选择另一个复选框和事件,然后根据需要填写:

Private Sub CheckBox2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Label1.Caption = "This is simply the explanation of what CheckBox2 does."
End Sub

最后选择放置其他控件的面板/图像和MouseMove事件。然后填写代码重置初始消息:

Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Label1.Caption = "Message reset"
End Sub

在此处输入图像描述


推荐阅读