我有一个带有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
属性应该设置第二列,但我不明白为什么会出现运行时错误。
答案 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
解决了这个问题。