0
我的搜索谷歌和stackoverflow相當廣泛,但我仍然收到錯誤。我相信我的錯誤在於定義列表框TestLB,它位於表格「佈局」(Sheet4)中。我試過把代碼放在我的工作表代碼和模塊代碼中。Excel VBA:在工作表中定義列表框並將選定的項目分配給數組
Sub Reserve_Click()
Dim SuggestList As MSForms.ListBox
Set SuggestList = Worksheets("Layout").TestLB
Dim Size As Integer
Size = SuggestList.ListCount - 1
ReDim ReserveAry(0 To Size) As String
Dim i As Integer
For i = 0 To Size
If SuggestList.Selected(i) Then
ReserveAry(i) = SuggestList.Selected(i).Value
Worksheets("Suggestions").Cell(i + 1, 3) = ReserveAry(i)
End If
Next i
End Sub
我得到一個:在 ReserveAry(i) = SuggestList.Selected(i).Value
我明白你的意思是關於刪除.value和數組中的空條目。但是刪除.value我仍然得到「對象不支持此屬性或方法」。正如我提到的,我認爲我不恰當地聲明瞭列表框,因爲在評論for循環和邏輯時我仍然遇到錯誤。所以我想我的問題是: 'Dim SuggestList As MSForms.ListBox' 'Set SuggestList = Worksheets(「Layout」)。TestLB' that ok? – JLusk
我在我的測試代碼中使用了與你自己相同的聲明方法,它工作正常。你不僅需要刪除'.Value'。你必須使用'.List(I)'屬性。 '.Selected'只會告訴你是否選擇該項目。 – user3561813