我一直试图找到一种方法在鼠标悬停工具提示上放置换行符
我想要显示
完全 - 从外部部分完全覆盖 - 仅覆盖 来自外部的非空白 - 仅在空白单元格上输入数据
到
完全 - 从外部完成覆盖
部分 - 仅覆盖外部的非空白 否 - 仅在空白单元格上输入数据
有没有办法做到这一点
使用Excel 2010 btw
答案 0 :(得分:0)
excel会忽略ControlTipText
属性中的换行符/回车符。一种可能的解决方法是使用隐藏的多行标签(格式化为工具提示),通过使用关联控件和用户表单的MouseMove
事件切换其可见性 - 即SomeControl_MouseMove
显示标签和{ {1}}再次隐藏它(可能在延迟之后)。如果用户非常快速地移动指针,则该方法可能有点击中或未命中。另一个(更好的,恕我直言)解决方案是在表单的某处有一个永久可见的标签或文本框对象,其标题/值根据当前鼠标指针下的任何控件而变化,再次使用ParentForm_MouseMove
事件。
编辑:如果我怀疑您的工具提示与组合框/列表框控件相关联,您可能需要考虑在控件的第二列中包含选项说明吗?
答案 1 :(得分:0)
我试图保持简单(没有api,非常短的代码):
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'If Events Then
Dim list_index As Long, Zero As Long
Zero = Me.ListBox1.TopIndex
list_index = Y \ (8 + 2) + Zero ' ; 8 si the size of Font ; note \ is a integer division
'Me.label1 = Y 'test label
'Me.label2 = list_index 'test label
'Me.label3 = Zero 'test label
With Me.ListBox1
.ControlTipText = .List(list_index, 1)
End With
'End If
End Sub
答案 2 :(得分:0)
这在Access VBA中有效-没理由在Excel VBA中不起作用:在输入控件提示文本时,无论您想换行何处,只需按Shift-Enter。
由于我们在其中输入控件提示文本的字段(在Access中)一次只显示一行,因此您将不得不使用向上和向下箭头来滚动浏览该一行中的文本。时间字段,以确保正确输入所有内容。
答案 3 :(得分:-3)
我不确定我理解这个问题。通过“mouseover tooltip”你的意思是评论,对吗?创建换行符应该没有问题。只需点击输入 / * 返回 *键,您希望中断对我来说很好。这是我所做的一系列详细说明。
1)我选择了我想要的细胞。
2)在评论功能区中,我选择了新评论。
3)然后,我将您的文本复制并粘贴到评论框中。
4)我调整了评论框大小以防止包装。
5)最后,我删除了文本并手动重写,以确保我可以手动输入换行符。
希望这会有所帮助。欢呼声。