Excel VBA ActiveX ListBox不允许点击

我创build了一些代码,用Lables,TextBoxes和ListBox填充Excel工作表。 使用.List = Sheets()。Range()。填充ListBox之后,我无法点击select一个项目。 如果我保存工作表,closures并重新打开它工作正常。

我检查了http://blogs.technet.com/b/the_microsoft_excel_support_team_blog/archive/2014/12/11/forms-controls-stop-working-after-december-2014-updates-.aspx

但我没有得到一个错误,所以这似乎是错误的修复。

当我search以下KB http://support.microsoft.com/kb/3025036/EN-US

症状与我所经历的不同。

我也试过使用Sheets()。激活如张贴在这里: Excel的ActiveX列表框没有启用文件打开

但是这没有帮助,或者我正在实施它不正确。

这是创buildListBox的代码

Private Sub Create_ListBox_ActiveXControlProperties() Dim oLISTBOX As OLEObject Set oLISTBOX = ActiveSheet.OLEObjects.Add(classtype:="Forms.ListBox.1", Top:=35, Width:=500, Left:=650, Height:=600) ActiveSheet.OLEObjects("ListBox1").Object.Font.Size = 14 ActiveSheet.OLEObjects("ListBox1").Object.ListStyle = 0 ActiveSheet.OLEObjects("ListBox1").Object.List = Sheets("Search Criteria Control").Range("g1:g21").Value End Sub 

任何人都可以build议我可以寻找解决办法吗?

不能给你一个解释,但如果你添加Activesheet.Select到你的Sub的结尾,那么你可以select你的项目。

另一种写作方式:

 Sub M_snb() With ActiveSheet.OLEObjects.Add("Forms.ListBox.1", , , , , , , 35, 50, 65, 60) .Object.Font.Size = 14 .Object.List = ActiveSheet.Range("g1:g21").Value .Object.ListIndex = 0 .Parent.select End With End Sub