没有select的combobox的当前值的ListIndex

在VBA中,combobox的ListIndex属性显示combobox中值的整个列表(数组)中所选项目的索引(从0开始)。 如果没有select,则显示-1。

当我用一个combobox和最后一个值在Excel中调出一张表时,它的ListIndex为-1,而不是实际的ListIndex。

VBA中的快速获取当前非选定值的ListIndex的技巧是什么?

我知道我可以自己手动检查数组(.List属性),但我希望VBA有一些更快的方法来做到这一点。

ListIndex属性的VBA帮助:

ListIndex属性包含列表中选定行的索引。 ListIndex的值范围从-1到小于列表中的总行数(即ListCount – 1)。 当没有行被选中时,ListIndex返回-1。 当用户在列表框或combobox中select一行时,系统设置ListIndex值。

所以我假设你没有select任何东西,但试图读取选定的值。 这可能解释了为什么ListIndex返回-1。