【发布时间】:2020-01-20 12:21:40
【问题描述】:
我有代码在我的组合框中填充工作表名称,并在我单击下拉按钮时进行更新。
问题是我无法在组合框列表中选择一个值。我还有两个不希望组合框填充的隐藏工作表。
代码如下:
Private Sub REFRESH_COMBOBOX1()
Dim ws As Worksheet
ComboBox1.Clear
For Each ws In ThisWorkbook.Sheets
If ws.Visible Then ComboBox1.AddItem(ws.Name)
Next ws
End Sub
Private Sub ComboBox1_DropButtonClick()
REFRESH_COMBOBOX1
End Sub
【问题讨论】:
-
您需要在循环之前使用
ComboBox1.Clear行-但我还必须说您的 mousemove 事件可能不是触发列表刷新的最佳方式-您可以不使用 ComboBox1_Click() 事件或其他什么代替? -
@tinman 我希望在工作表名称发生更改时更新组合框列表
-
没有内置方法来注册工作表名称是否已更改,因此最简单的方法肯定是使用
ComboBox1_Click()触发ComboBox1.Clear,然后重新列出每个工作表名称。请看下面我的回答。 -
@jamheadart 它工作但我无法从我的组合框列表中选择一个值..
-
@TinMan 如果您只是更改工作表名称,这不会注册?