Excel 如何在工具提示上使用userform鼠标进行换行?

Excel 如何在工具提示上使用userform鼠标进行换行?,excel,vba,Excel,Vba,我一直在想办法在鼠标悬停的工具提示上加上换行符 我想展示一下 完全-从外部部分完全覆盖-仅覆盖 来自外部的非空白-仅在空白单元格上输入数据 到 完全-从外部完全覆盖 部分-仅覆盖外部的非空白 否-仅在空白单元格上输入数据 有没有办法做到这一点 使用Excel 2010顺便说一句,我不确定我是否理解这个问题。“鼠标悬停工具提示”是指注释,对吗?创建换行符应该没有问题。只要在你想要休息的地方按一下回车键就可以了。下面是我所做工作的详细说明 1) 我选择了我想要的手机 2) 在“审阅”功能区中,我选择

我一直在想办法在鼠标悬停的工具提示上加上换行符

我想展示一下

完全-从外部部分完全覆盖-仅覆盖 来自外部的非空白-仅在空白单元格上输入数据

完全-从外部完全覆盖
部分-仅覆盖外部的非空白
否-仅在空白单元格上输入数据

有没有办法做到这一点


使用Excel 2010顺便说一句,我不确定我是否理解这个问题。“鼠标悬停工具提示”是指注释,对吗?创建换行符应该没有问题。只要在你想要休息的地方按一下回车键就可以了。下面是我所做工作的详细说明

1) 我选择了我想要的手机

2) 在“审阅”功能区中,我选择了“新建注释”

3) 然后我将你的文字复制粘贴到评论框中

4) 我调整了评论框的大小以防止包装

5) 最后,我删除了文本并手动重写,以确保可以手动输入换行符


希望这有帮助。干杯。

excel只会忽略
ControlTipText
属性中的换行符/回车符。一种可能的解决方法是使用隐藏的多行标签(格式类似于工具提示),其可见性通过使用关联控件和用户窗体的
MouseMove
事件来切换,即
SomeControl\u MouseMove
显示标签,而
ParentForm\u MouseMove
再次隐藏它(可能在延迟之后)。如果用户非常快地移动指针,这种方法可能会有点碰运气。另一个(更好的,IMHO)解决方案是在表单上的某个地方有一个永久可见的标签或文本框对象,其标题/值根据鼠标指针下当前的控件而变化,再次使用
MouseMove
events

< >编辑:如果我怀疑您的工具提示与一个组合框/ListBox控件相关联,您可能想考虑在控件中的第二列中拥有您的选项描述?

< P>我试图保持它的简单性(没有API,非常短的代码):


这在Access VBA中可以使用-没有理由它不应该在Excel VBA中使用:当输入控件提示文本时,只要按Shift-Enter键,就可以在需要换行符的任何位置执行操作。


由于在Access中输入控制提示文本的字段一次只显示一行,您必须使用向上和向下箭头滚动该一行一行字段中的文本,以确保正确输入所有文本。

我已经知道隐藏标签方法,但我只有一个用于选择的小用户表单,因此没有足够的空间容纳它。是的,工具提示与combobox关联。最后,我决定使用WinAPI显示多行工具提示。虽然不是很优雅和简单,但分享你的解决方案是否合适?我不太熟悉windows API,一直依赖于其他人的代码片段,但我看到的越多,知道的就越多:)我从这里改编了代码。代码相当长,使用起来有点棘手。最初用于listbox,但一个简单的查找和替换为combobox做好了准备。它不在工作表上,而是在用户表单上,因此无法应用
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