Excel-VBA UserForm ListBox - 如何在不选择的情况下突出显示选项
Excel-VBA UserForm ListBox - How can I Highlight option without Selecting
简而言之:
什么等同于 Me.ListBox1.Selected(2) = True
但用于突出显示而不是选择? (突出显示可能是错误的词,但我确定我之前在这种情况下已经看到过 - 选项周围的轮廓框而不是实际 selecting 它)
** 尝试过 **
Me.ListBox1.ListIndex = 2
也不做任何事情。
With Me.ListBox1
saveVal = .List(0)
.Value = ""
.Value = saveVal
End With
给我一个错误说 "Invalid Property Value"
背景:
为什么我需要点击两次items/boxes?
我有一个包含多个 ListBox
的用户表单,它们是通过一个一个地添加项目来填充的,效果很好。
ListBox
设置已更改为 MultiSelect
= 1 - fmMultiSelectMulti
和 ListStyle
= 1 - fmListStyleOption
问题是当第一次尝试 select 某些框上的选项时,它只是突出显示它而没有 selecting 它,而在其他框和其他尝试上它可能会或可能不是 select 直接的选择。它似乎不是同一个罪魁祸首,而且有点随机 - 它与我点击选项的位置有关吗?在项目文本而不是项目框上?为什么它对某些人有效而不对其他人有效?
在我 select 在框中输入一个选项后,它允许我单击 select 任何其他选项,这是期望的行为。
我发现 link 有人认为此行为是因为工作簿损坏,但我不认为是这样。我刚刚在用户表单中创建了一本带有 1 个列表框的新书,更改为所需的设置,复制了列表框 6 次,将列表源作为 rand() 放在 A:G 列中,但我仍然遇到同样的问题。
编辑: 我的计划是 "highlight" 每个框的顶部选项,以便第一次单击框时除了 select(因为已经突出显示了某些内容)...
解决我的 INITIAL 问题的技巧似乎是在填充每个列表以设置 .ListIndex = 0
之后,但这只在使用 .SetFocus
之后才有效
已解决! (目前,我认为)
尽管这并没有突出显示任何内容,但它允许我第一次 select 成功。
简而言之:
什么等同于 Me.ListBox1.Selected(2) = True
但用于突出显示而不是选择? (突出显示可能是错误的词,但我确定我之前在这种情况下已经看到过 - 选项周围的轮廓框而不是实际 selecting 它)
** 尝试过 **
Me.ListBox1.ListIndex = 2
也不做任何事情。
With Me.ListBox1
saveVal = .List(0)
.Value = ""
.Value = saveVal
End With
给我一个错误说 "Invalid Property Value"
背景:
为什么我需要点击两次items/boxes?
我有一个包含多个 ListBox
的用户表单,它们是通过一个一个地添加项目来填充的,效果很好。
ListBox
设置已更改为 MultiSelect
= 1 - fmMultiSelectMulti
和 ListStyle
= 1 - fmListStyleOption
问题是当第一次尝试 select 某些框上的选项时,它只是突出显示它而没有 selecting 它,而在其他框和其他尝试上它可能会或可能不是 select 直接的选择。它似乎不是同一个罪魁祸首,而且有点随机 - 它与我点击选项的位置有关吗?在项目文本而不是项目框上?为什么它对某些人有效而不对其他人有效?
在我 select 在框中输入一个选项后,它允许我单击 select 任何其他选项,这是期望的行为。
我发现 link 有人认为此行为是因为工作簿损坏,但我不认为是这样。我刚刚在用户表单中创建了一本带有 1 个列表框的新书,更改为所需的设置,复制了列表框 6 次,将列表源作为 rand() 放在 A:G 列中,但我仍然遇到同样的问题。
编辑: 我的计划是 "highlight" 每个框的顶部选项,以便第一次单击框时除了 select(因为已经突出显示了某些内容)...
解决我的 INITIAL 问题的技巧似乎是在填充每个列表以设置 .ListIndex = 0
之后,但这只在使用 .SetFocus
已解决! (目前,我认为)
尽管这并没有突出显示任何内容,但它允许我第一次 select 成功。