从组合框中删除空单元格并允许标题位于列表中但不可点击

时间:2015-10-13 01:16:13

标签: excel excel-vba combobox vba

我一直试图摆脱我的组合框中的空单元格。我使用了一系列选定的细胞,其中有空细胞,但似乎无法移除它们。这是我的代码:

Private sub userform_initialize() 
With Worksheets("Listing")
SearchPPComboBox.List = .Range("D4:D6" & .Range("D" &   
Rows.Count).End(xlUp).Row).Value
End with 
End sub 

另外,我想显示我的标题,以便对我的组合框中的选项进行分类和分类,但是如何让它们不被用户点击?

1 个答案:

答案 0 :(得分:0)

下面我已经添加了一些代码,它将找到列表的长度,包括平淡的空格,然后将它们添加到comboBox,同时忽略空格。我假设您的数据位于A列中,因此只需使用数据所在的列字母更改此值。

Private Sub UserForm_Initialize()
    Dim listLength As Integer
    Dim wks As Excel.Worksheet
    Set wks = Worksheets("Listing")
    listLength = Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row '<==== finds the length of the list
    For x = 1 To listLength
        If wks.Cells(x, 1) <> "" Then '<=== ignores the blank spaces
           With SearchPPComboBox '<=== name of your comboBox
               .AddItem (wks.Cells(x, 1).Value) '<==== adds it to the list
            End With
        End If
    Next x
End Sub

让我知道这是否有效:)