使用数组中的两个文本字段填充组合框

时间:2019-05-08 14:35:35

标签: arrays excel vba combobox userform

我正在尝试从数组中的2个单元格中获取值,以填充用户窗体上组合框的文本字段。数组中的值如下所示:

A  1
B  2
C  3
B  4

我想在组合框文本字段中区分B2和B4。当前该字段的填充方式类似于B。我希望它用B 2填充。该问题与this问题部分相关。

我尝试使用从this链接到的here,但无法使ListCount属性正常工作。我使用this来更好地理解数组,希望它能提供一些见识。我尝试了this方法,但没有填充文本字段。 WhereInArray看起来更像是寻找值,并且似乎与唯一值有关。我尝试了this,但似乎在阵列上被绊倒了。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

想象一下Worksheets("Sheet1")

中的数据

enter image description here

像这样填充组合框ComboBox1:循环浏览数据并使用.AddItem添加两个数据列的组合。

Private Sub UserForm_Initialize()
    Dim Data() As Variant 'array
    Data = Worksheets("Sheet1").Range("A1:B4").Value 'read data into array

    Me.ComboBox1.Clear

    Dim iRow As Long
    For iRow = LBound(Data, 1) To UBound(Data, 1)
        Me.ComboBox1.AddItem Data(iRow, 1) & " " & Data(iRow, 2)
    Next iRow
End Sub

然后,您可以选择以下项目:

enter image description here

您可以使用B 2检索值Me.ComboBox1.Text

Debug.Print Me.ComboBox1.Text 'returns B 2