vba 无法设置 List 属性。无效的属性值
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/7872207/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Could not set the List property. Invalid property value
提问by Andrei Ion
I'm getting this error and I don't know the reason. I have the following piece of code:
我收到此错误,但不知道原因。我有以下一段代码:
Private Sub repereche_Change()
Dim ws As Worksheet
Set ws = Worksheets("BD_IR")
Dim Rand As Long, Rand2 As Long
Dim prestrangere As Long
Dim prestrangere2 As Long
Dim bila As Long
Dim ws2 As Worksheet
Set ws2 = Worksheets("BD_AR")
prestrangere = 0
prestrangere2 = 0
bila = 10
Rand = 3
Rand2 = 3
Do While ws.Cells(Rand, 3).Value <> "" And Rand < 65000
If Me.repereche.Value = Mid(ws.Cells(Rand, 3), 4, 10) Then
Do While ws2.Cells(Rand2, 3).Value <> "" And Rand2 < 65000
If Me.repereche.Value = Mid(ws2.Cells(Rand2, 3), 4, 10) Then
If ws.Cells(Rand, 7) <> "" Then
prestrangere = (((ws2.Cells(Rand2, 7) - 400) * 10) - ((ws.Cells(Rand, 6) - 400) * 10) - (bila * 1.414 * 2)) - 10
prestrangere2 = (((ws2.Cells(Rand2, 6) - 400) * 10) - ((ws.Cells(Rand, 7) - 400) * 10) - (bila * 1.414 * 2)) - 10
Else
prestrangere = (((ws2.Cells(Rand2, 6) - 400) * 10) - ((ws.Cells(Rand, 6) - 400) * 10) - (bila * 1.414 * 2)) - 10
End If
gksluri.AddItem ws.Cells(Rand, 4).Value 'comanda IR
gksluri.List(gksluri.ListCount - 1, 1) = ws.Cells(Rand, 5) 'inel IR
gksluri.List(gksluri.ListCount - 1, 2) = ws.Cells(Rand, 6) 'GKSL IR
gksluri.List(gksluri.ListCount - 1, 3) = ws.Cells(Rand, 7) 'GKSL 2 IR
gksluri.List(gksluri.ListCount - 1, 4) = ws2.Cells(Rand2, 4) 'comanda AR
gksluri.List(gksluri.ListCount - 1, 5) = ws2.Cells(Rand2, 5) 'inel AR
gksluri.List(gksluri.ListCount - 1, 6) = ws2.Cells(Rand2, 6) 'GKSL AR
gksluri.List(gksluri.ListCount - 1, 7) = ws2.Cells(Rand2, 7) 'GKSL 2 AR
gksluri.List(gksluri.ListCount - 1, 8) = bila
gksluri.List(gksluri.ListCount - 1, 9) = prestrangere
gksluri.List(gksluri.ListCount - 1, 10) = "test" 'HERE IS THE ERROR
End If
Rand2 = Rand2 + 1
Loop
End If
Rand2 = 3
Rand = Rand + 1
Loop
End Sub
gksluri is a Listbox. The Listbox has 11 columns set at the ColumnCount property. If I remove the line
gksluri 是一个列表框。列表框在 ColumnCount 属性中设置了 11 列。如果我删除该行
gksluri.List(gksluri.ListCount - 1, 10) = "test"
it works ok. What am I doing wrong? Where could the problem be? I couldn't find anything. Thanks a lot!
它工作正常。我究竟做错了什么?问题可能出在哪里?我找不到任何东西。非常感谢!
回答by Fionnuala
For an unbound data source, there is a 10-column limit (0 to 9).
对于未绑定的数据源,有 10 列的限制(0 到 9)。
From: http://office.microsoft.com/en-us/excel-help/HV080556371.aspx
来自:http: //office.microsoft.com/en-us/excel-help/HV080556371.aspx