将鼠标指针移到VBA excel中的button上时如何显示更多信息。

我对vba excel有疑问。 我想知道是否有一种方法来显示额外的信息,当您将指针移到一个button或单元格。 我想这样做是为了提供显示在标签中的单词的含义。 例如,如果标签显示单词“股票”,我希望有人可以将指针移动到单词上,然后显示信息。

即时通讯使用Excel 2013,到目前为止我想在一个事件时,指针移动一个位置。

谢谢。

对于单元格来说,最简单的就是使用注释。 就button而言,就我所知,没有直接的方法。 你可以做些什么来解决这个问题就是在vba中创build一个函数,在msgbox中显示你想要的信息,例如:

Function exemple() MsgBox "I ran" End Function 

而通过使用给定单元格中的公式调用此函数:

 =hyperlink(exemple(),"Displayed text in cell") 

现在,只要你将鼠标hover在该单元格上,该函数就会显示msgbox。 然后你可以把button放在单元格上(确保button比单元格更小或在button周围的多个单元格中input公式,否则它的function将不会运行)。 你也可以改变这个函数来隐藏/显示注释,而不是一个msgbox,当你想每次点击button时popup一个msgbox,这个会popup。

这是远远不够完美,但应该做的伎俩。

编辑:我build议你把公式中的“Displayed text in cell”放到公式中,否则只有将文本hover才能运行这个函数,如果你把它留空,整个单元格就会运行公式。

如果该button位于UserForm上,请使用ControlTipText属性

如果该button位于工作表上,则会检测到该事件

 Private Sub cmdBtn_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _ ByVal X As Single, ByVal Y As Single) If X < cmdBtn.Width And Y < cmdBtn.Height Then Sheet1.Cells(1, 1).Value2 = "More Info" End If End Sub 

这不是一个鼠标hover – 但如果你想提供额外的信息,你不喜欢当一个单元格有注释时显示的令人讨厌的三angular形,你可以把附加信息作为data validation的input消息细胞。 然后如果有人select了这个单元格,信息将被显示。 您也可以使用工作表的BeforeRightClick事件显示右键单击单元格时的信息。