我之前在其他列表框中使用了这个完全相同的VBA代码,非常成功地添加了非重复项。不幸的是,这次它给了我一个错误“应用程序定义或对象定义的错误”。非常感谢对此的任何见解,我不确定为什么它没有将项目添加到列表中。这也是一个ActiveX列表框,它正在工作表而不是用户表单中添加。我之前完成了相同的完全相同的代码没有问题,但这一次出现错误: rngData.Sort
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
答案 0 :(得分:0)
以下是如何使用sort选项的一个很好的示例: https://msdn.microsoft.com/en-us/library/office/ff840646.aspx
在你的情况下,很可能你没有&#34;选择国家&#34;写在你的范围的顶部。你的最高范围是第2行。你能给出截图吗?
答案 1 :(得分:0)
我只是想通了。我重新复制了表格,我将信息从另一张表中拉出来,我的代码也运行了。这很奇怪,它不会在另一个工作表上的同一个表上工作。我没有得到它,但我会选择新复制的表格。我很感激帮助。: - )