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

当我在Excel中显示带有组合框和其中的最后一个值的工作表时,它的ListIndex为-1,而不是项目的实际ListIndex。

VBA中如何快速获取当前未选择值的ListIndex的诀窍是什么?

我知道我可以自己手动检查数组(.List属性),但是我希望VBA可以更快地执行此操作。

最佳答案

从VBA帮助中的ListIndex属性:


ListIndex属性包含一个选定行的索引。
清单。 ListIndex的值比总值小–1至一
列表中的行数(即ListCount – 1)。没有行时
选中后,ListIndex返回–1。当用户在
ListBox或ComboBox,系统设置ListIndex值。


因此,我假设您没有选择任何内容,而是尝试读取所选的值。这可以解释为什么ListIndex返回-1。

10-05 19:13