我认为这很简单,但无论出于何种原因,我的组合框总是空的,我不知道为什么!在B列中,我从单元格B3的文本向下,并希望此列表填充我的组合框(称为ComboBox1)。 B列中的某些单元格是空的,我不希望这些在下拉列表,所以这是我的代码有:用范围填充组合框并移除空格
Private Sub CompanyList()
Dim c As Range
With Worksheets("Database")
For Each c In Worksheets("Database").Range("B3", .Range("B" & Rows.Count).End(xlUp))
If c.Value <> "" Then ComboBox1.AddItem c.Value
Next c
End With
End Sub
我单被称为数据库,该ActiveX组合框是在同一张纸上,这就是所谓ComboBox1。我在哪里错了?
UPDATE
,使其运行每当我更新细胞,使
Private Sub Worksheet_Change(ByVal Target As Range)
但是,现在当我更新细胞时,它会增加整个B柱的我已经改变了代码再次到组合框。它不会添加空白单元格,而是从空白单元格的下面添加好值的值,但每当我进行更改时,它都会添加两次。
虽然考虑它,我不知道为什么我认为不然。但是,如果我更改列表中的公司名称,我仍然需要组合框在实时更新。
你将断点与'If'网上看到,如果你进入它? – R3uK
如果我在If行上设置了一个断点,然后遍历代码,它将继续添加值直到一个空单元格,然后重复添加这些值...所以我得到值1,值2,值3,值1,值2,值3等,而不是值1,值2,值3,值4等。 – Chris