我正在開發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等是在代碼中的其他地方設置的單元引用。他們正在引用正確的單元格,我使用調試器測試過, –