运行时380,无法设置Listproperty

时间:2016-01-21 13:25:05

标签: excel-vba listbox vba excel

我有一个带有3列ListBox的UserForm,第一列在数组初始化时填充。第2和第3列留空。在选择时,通过函数调用输入框,以输入和验证第二列中需要的数字。我已使用List属性尝试了此操作,但我收到了错误

  

运行时错误' 380':

  无法设置List属性。无效的属性值。

这是操纵列表框的子项:

Private Sub lstKarren_Change()
    Dim i As Long
    Dim karName As String
    With Me.lstKarren
        For i = 0 To .ListCount - 1
            If .Selected(i) And Not Karren(i) Then
                Karren(i) = True
                .List(i, 1) = numValInput
            ElseIf Not .Selected(i) And Karren(i) Then
                Karren(i) = False
                .List(i, 1) = Empty
            End If
        Next i
    End With

End Sub

调试器突出显示该行:

.list(i, 1) = numValInput 'numValInput is function which returns a number as a string.

代码在我将其更改为.List(i)时运行正常,但随后它会更改第一列,而不是第二列。我发现information表示List属性应该设置第二列,但我不明白为什么会出现运行时错误。

1 个答案:

答案 0 :(得分:1)

问题是由列表框的方式引起的,改变了:

Me.lstKarren.List = Array("Selectie", "Links AB", "Links CD", "Rechts AB", "Rechts CD")

为:

With Me.lstKarren
    .AddItem "Selectie"
    .AddItem "Links AB"
    .AddItem "Links CD"
    .AddItem "Rechts AB"
    .AddItem "Rechts CD"
End With

解决了这个问题。