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 - fmMultiSelectMultiListStyle = 1 - fmListStyleOption

问题是当第一次尝试 select 某些框上的选项时,它只是突出显示它而没有 selecting 它,而在其他框和其他尝试上它可能会或可能不是 select 直接的选择。它似乎不是同一个罪魁祸首,而且有点随机 - 它与我点击选项的位置有关吗?在项目文本而不是项目框上?为什么它对某些人有效而不对其他人有效?

在我 select 在框中输入一个选项后,它允许我单击 select 任何其他选项,这是期望的行为。

我发现 link 有人认为此行为是因为工作簿损坏,但我不认为是这样。我刚刚在用户表单中创建了一本带有 1 个列表框的新书,更改为所需的设置,复制了列表框 6 次,将列表源作为 rand() 放在 A:G 列中,但我仍然遇到同样的问题。

编辑: 我的计划是 "highlight" 每个框的顶部选项,以便第一次单击框时除了 select(因为已经突出显示了某些内容)...

解决我的 INITIAL 问题的技巧似乎是在填充每个列表以设置 .ListIndex = 0 之后,但这只在使用 .SetFocus

之后才有效

已解决! (目前,我认为)

尽管这并没有突出显示任何内容,但它允许我第一次 select 成功。