Excel VBA 用户表单组合框

问题描述 投票:0回答:1

我正在尝试使用字母列表填充组合框,但仅填充那些未出现在其他范围中的字母

完整列表保存在名为“prbCodes”的范围中,我使用它填充组合框

For Each cClass In Range("prbCodes")
With Me.ddSelect
    .AddItem Format(cClass.Value, "")
  End With
Next cClass

使用的探针 id 字母保存在命名范围“prbList”中,如何比较/匹配两个范围,以便只有未出现在“prbList”中的字母显示在 ddSelect 中

谢谢

编辑: 组合框是用户表单的一部分,数据保存在名为“数据”的工作表中。

两个命名列范围“prbList”和“prbCodes”是数据表的一部分。 prbCodes 包含字母 A-Z 和数字 0-9。 prbList 是表“tbl_probes”中的一列。

excel vba combobox match userform
1个回答
0
投票

有条件地填充组合框

Private Sub UserForm_Initialize()
    
    ThisWorkbook.Activate
    
    Dim rgCodes As Range: Set rgCodes = Range("prbCodes")
    Dim rgList As Range: Set rgList = Range("prbList")
    
    Dim cell As Range, Code As String
    
    With Me.ddSelect
        .Clear
        .ColumnWidths = "50;50"
        .ColumnCount = 2
        For Each cell In rgCodes.Cells
            Code = CStr(cell.Value)
            If IsError(Application.Match(Code, rgList, 0)) Then
                .AddItem Code
                .List(.ListCount - 1, 1) = CStr(cell.Offset(0, 1).Value)
            End If
        Next cell
    End With
    
End Sub

© www.soinside.com 2019 - 2024. All rights reserved.