【发布时间】:2013-02-03 08:28:59
【问题描述】:
Private Sub ComboBox1_DropButtonClick()
If ComboBox1.ListCount > 0 Then
ActiveSheet.ComboBox1.Clear
End If
For N = 1 To ActiveWorkbook.Sheets.Count - 1
ComboBox1.AddItem ActiveWorkbook.Sheets(N).Name
Next N
End Sub
我是 VBA 新手,请多多包涵。我可能不是最好的开始方式。
代码获取我工作簿中每个工作表的名称(最后一张工作表除外)并将它们添加到组合框列表中。起初,每次我单击下拉列表时,都会再次添加所有工作表名称,从而使列表随着每次单击而继续增长。我的补救措施是在每次点击时先清除组合框并重新填充。
但是,使用 clear 选项时,在进行选择时不会显示该值。不使用 clear 选项时显示正常。其他一切仍然有效,但我需要它来显示所选值,以免用户感到困惑。
有没有更好的方法来完成我的需要?
编辑:如果重要的话,这不在用户表单中,它只是直接位于工作表上的活动 x 组合框。
【问题讨论】:
-
Is there a better way to accomplish what I need?- 您希望组合框具体做什么?你提到了什么不起作用,但没有提到你想要发生的事情。 -
我只需要它在框中显示所做的选择。相反,它在选择一个之后仍然是空的。当我不使用 clear 选项时,不会发生这种情况。
标签: excel vba combobox populate