使用工作表中的For循环填充ComboBox

时间:2017-06-13 14:55:11

标签: excel vba combobox userform

在用户选择上一个用户表单上的工作站后,我尝试使用部件号列表填充userform组合框。

我的想法是遍历列,确定字符串何时与工作站匹配,然后将列中的单元格添加到右侧(原来是产品编号)

到目前为止,我的代码看起来像这样:

If station = "MILL" Then
    With ComboBox1
    .AddItem "350SC109e.1"
    .AddItem "350 SC166"
    .AddItem "350 SC193"
    .AddItem "350 SC195"
    End With
End If

If station = "BRAKE" Then
    For i = 2 To ws1.Range("A265").End(xlUp).Row
    If ws1.Cells(i, 1) = "Brake" Then
       ComboBox1.AddItem ws1.Cells(i, 2)
    End If
    Next i
End If

MILL是一个在BRAKE if语句中手动执行我想要完成的事情的示例。

1 个答案:

答案 0 :(得分:0)

在这里,我真的快速地说明了我可以让它在循环中工作。你必须调整以适应你的需求。它确实完美无缺地运作

Private Sub CommandButton1_Click()

    Dim txtVal As String

    If IsNull(TextBox1.Value) = False Then
        txtVal = TextBox1.Value
    Else
        txtVal = ""
    End If

    Dim rng As Range
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:A21")
    Dim rcell As Range

    For Each rcell In rng.Cells
        If rcell.Value = txtVal Then
            With ComboBox1
                .AddItem rcell.Offset(0, 1).Value
            End With
        End If
    Next rcell

End Sub