【问题标题】:Excel-VBA UserForm ListBox - How can I Highlight option without SelectingExcel-VBA UserForm ListBox - 如何在不选择的情况下突出显示选项
【发布时间】:2018-04-28 05:14:01
【问题描述】:

简而言之:

除了突出显示而不是选择之外,什么等同于 Me.ListBox1.Selected(2) = True? (突出显示可能是错误的词,但我确信我之前在这种情况下已经看到过 - 选项周围的轮廓框而不是实际选择它)

** 试过了 **

Me.ListBox1.ListIndex = 2

也不做任何事情。

With Me.ListBox1
    saveVal = .List(0)
    .Value = ""
    .Value = saveVal
End With

给我一​​个错误提示“无效的属性值”

背景:

为什么我需要在某些物品/盒子上点击两次?

我有一个包含多个 ListBox 的用户表单,这些用户表单是通过逐个添加项目来填充的,效果很好。

ListBox 设置已更改为 MultiSelect = 1 - fmMultiSelectMultiListStyle = 1 - fmListStyleOption

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

在我在一个框中选择了一个选项后,它允许我通过单击来选择任何其他选项,这是所需的行为。

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

编辑:我的计划是“突出显示”每个框的顶部选项,以便第一次单击框除了选择之外别无选择(因为某些内容已经突出显示)...

【问题讨论】:

    标签: vba excel listbox userform


    【解决方案1】:

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

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

    即使这没有突出显示任何内容,但它允许我第一次选择某些内容而不会失败。

    【讨论】:

      猜你喜欢
      • 2020-01-19
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 2012-06-26
      • 2013-07-17
      • 2014-03-28
      相关资源
      最近更新 更多