列表框中的索引值

时间:2012-09-20 12:04:00

标签: excel excel-vba listbox vba

我有一个列表框,其中填充了一年中的几个月,如下所示:

Private Sub UserForm_Initialize()
    Dim i As Integer

    For i = 1 To 12
        ListBox1.AddItem MonthName(i)
    Next

End Sub

然后我将所选值存储为字符串。我感兴趣的是使用i的等价值进行计算而不是月份名称。

e.g。如果用户选择了July(i = 7),我想要做的是存储第二个字符串,该字符串定义为所选字符串之前的月份,即i - 1,在这种情况下为6月(i = 6)。

如何在代码中引用i的值而不是月份字符串的名称?

1 个答案:

答案 0 :(得分:1)

使用ListBox的ListIndex属性,即

Debug.Print Listbox1.ListIndex + 1
当p指数从0开始时,

递增1

要小心,假设上个月总是比选定的少1个......如果用户选择“1月”会怎样?