Excel 从组合框中删除空单元格,并允许标题出现在列表中,但不可单击

Excel 从组合框中删除空单元格,并允许标题出现在列表中,但不可单击,excel,combobox,vba,Excel,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 此外,我想显示我的标题来

我一直在试图清除组合框中的空单元格。我使用了一系列选定的单元格,其中有空单元格,但似乎无法删除它们。这是我的密码:

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

此外,我想显示我的标题来分离和分类我的组合框中的选项,但是如何让它们不能被用户点击?

下面,我已经设置了一个工作位代码,该代码将查找包含BLand空间的列表长度,然后将它们添加到组合框中,而忽略空白空间。我假设您的数据在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
Private子用户表单_Initialize()
将listLength设置为整数
Dim以Excel格式工作。工作表
Set wks=工作表(“列表”)

listLength=Worksheets(“Sheet1”).Cells(Rows.Count,“A”).End(xlUp).Row'您可以尝试使用if语句表示,在添加范围中的值时,如果值为“”,则不添加它,否则将其添加到列表中。这可能需要稍长的时间,但它应该可以工作。您可以使用.AddItem来执行此操作。这就是你的意思吗?是的,这就是我的意思。但是我该如何编写代码。因此,如果区域中的一个单元格为空,则我使用。选择函数并从searchPPComboBox.list中删除?那么这些代码应该跟在我的后面?我试过这个,但它给了我错误@GBSinghDid我的解决方案工作??如果有,请您接受,以便将其标记为已解决。谢谢@格温