我有一个Excel2010 VBA用户窗体有一个组合框,用户应该从中选择当前打开的Excel工作簿。该USERFORM_Initialize子程序中包含(除其他事项外):VBA Excel组合框下拉列表obj.addItem后为空
cbWorkbook.Clear
cbWorkbook.Visible = True
For Each wb In Workbooks
cbWorkbook.AddItem wb.name
Next wb
我已在这个代码中设置断点,并且我能够一步通过它;在目前的情况下,有四个开放的工作簿,并且适合每个“重复”四次。我可以看到,wb.name包含我想要的值。
但是,当窗体显示并单击Dropbox箭头时,“列表”为空。它看起来像有一个项目的空间,并且该项目是空白的。 (我相信这是一个空的下拉框的典型例子。)
选择组合框的属性有: Autosize = False; AutoTab = FALSE;启用= TRUE; DropButtonStyle = 1-fmDropButtonStyleArrow; 身高= 18; ListRows设为= 8; ListStyle = 0;锁定= FALSE; ShowOptionWhen = 2; SpecialEffect = 2;风格= 0;可见=真。在执行时,cbWorkbook.listCount = 4
这是在开发中,它确实看起来像昨天预期的那样工作,但现在似乎从来没有工作。任何想法,我可能会出错?
编辑:我找到了解决方案:我有无意中复制cbWorksheet顶部的另一个组合框,有效地隐藏它。我看到的控制器是空的,而我想要的控制器被覆盖。删除流氓控制箱解决了问题。
我的歉意;这应该是我所寻求的第一件事。
你有错误处理吗? – SWa 2012-03-08 16:31:58
此时此工作簿中的任何地方都不会出现错误处理。 – Dennis 2012-03-08 18:31:25
你可以发布用户表单的完整代码吗? – SWa 2012-03-09 09:19:57