我已經在其他列表框之前使用完全相同的VBA代碼來非常成功地添加非重複項。不幸的是,這一次它給我一個錯誤「應用程序定義或對象定義的錯誤」。任何對此的見解都非常感謝,我不確定爲什麼它不會將項目添加到列表中。這也是一個ActiveX列表框,它被添加到工作表而不是用戶表單中。我這樣做過完全相同的代碼沒有問題,但是這一次它出現了錯誤:rngData.SortVBA。列表框的排序功能
Private Sub lstCountry_Click()
Dim wsData As Worksheet
Dim strID As String
Dim rngData As Range
Dim rngCell As Range
Dim shtPivot
Set shtPivot = ThisWorkbook.Worksheets("Pivot")
Set wsData = ThisWorkbook.Worksheets("Raw Data")
Set rngData = wsData.Range("a2").CurrentRegion
lstCountry.Clear
strID = "Select Country"
rngData.Sort key1:=strID, Header:=xlYes
For Each rngCell In rngData.Columns(1).Cells
If rngCell.Value <> strID Then
lstCountry.AddItem rngCell.Value
strID = rngCell.Value
End If
Next rngCell
這段代碼會在每個'lstCountry.AddItem'語句中調用它自己。此外,我不明白'strID = rngCell.Value'到'For Each rngCell'循環中:你真正的目標是什麼? – user3598756
我的目標是將我剛剛附加到列表框中的屏幕截圖中的值添加到一個不重複的地方。我在成功之前完成了這個任務,只是這次我收到一個錯誤,我不知道爲什麼! – Rosario
哪個工作表是你想要處理的ActiveX列表框?你如何在第一次填充它? – user3598756