我正在开发Excel和VBA中的程序,并且当我尝试更改列表框的选定属性时出现运行时错误380。Excel VBA - listbox.selected属性导致错误
该属性由excel电子表格上的列确定,其中包含True或False值。我已将这些单元格的内容打印到控制台,并可以确认true/false值是否正常工作,但是当我尝试将这些值分配给我的listbox.selected属性时,出现错误。
的功能是以下,任何帮助或建议将是该线路上发生多appreciated.Error:
ElementListBox.Selected(计数 - 1)= TaskListSheet.Cells(TaskListCellRef(任务,ref.Row)+数+ 1,TaskBreakdownColumnRefs(TaskBreakdownColumnHeaders.Included))值
Public Function LoadTier2SubTaskList(ByVal Task As Single, ByRef ElementListBox As Control)
ElementListBox.Clear
WorklistComboBox.Clear
Dim count As Single
Dim finished As Boolean
Dim TaskListSheet As Worksheet
Set TaskListSheet = TBSheet
finished = False
For count = 1 To 50
Next count
count = 1
Dim TaskString As String
Do While finished = False
TaskString = TaskListSheet.Cells(TaskListCellRef(Task, ref.Row) + count + 1, TaskBreakdownColumnRefs(TaskBreakdownColumnHeaders.ElementOfWork)).Text
If TaskString = vbNullString Then
finished = True
ElseIf TaskListSheet.Cells(TaskListCellRef(Task, ref.Row) + count + 1, TaskBreakdownColumnRefs(TaskBreakdownColumnHeaders.Tier)).Value = 2 Then
ElementListBox.AddItem (TaskString)
ElementListBox.Selected(count - 1) = TaskListSheet.Cells(TaskListCellRef(Task, ref.Row) + count + 1, TaskBreakdownColumnRefs(TaskBreakdownColumnHeaders.Included)).Value
Debug.Print (TaskListSheet.Cells(TaskListCellRef(Task, ref.Row) + count + 1, TaskBreakdownColumnRefs(TaskBreakdownColumnHeaders.Included)).Value)
End If
count = count + 1
Loop
End Function
项目数count = 1到50'循环是干什么的?刚刚点数?然后计数回到1?所以你的'listbox.selected(count-1)'是'listbox.selected(0)'? – Raystafarian
什么是TaskListCellRef,ref,TaskBreakdownColunRefs和TaskBreakdownColumnHeaders?他们似乎没有被定义为在程序中的任何地方设置。 –
与循环的好处,不知道为什么那里,但删除它没有任何区别。 TaskListCellRef等是在代码中的其他地方设置的单元引用。他们正在引用正确的单元格,我使用调试器测试过, –