VBA使用多列组合框中的一列作为变量

时间:2017-03-16 09:59:38

标签: vba excel-vba excel

我有以下代码在userform中生成一个显示客户端和ID的多列组合框。我必须将两个列都作为客户端生成并多次列出,但ID是唯一的。

i = 2

For Each c In Range("D2", Range("D" & Rows.Count).End(xlUp))
    CB_Account.AddItem Cells(i, 4).Value & " : " & Cells(i, 3).Value
    i = i + 1

Next

但是,我使用选定的值过滤工作表,以便我可以将客户详细信息复制到新工作表并使用所选值作为变量:

MyAccount = UF_Format.CB_Account.Value

代码目前正在崩溃,因为组合框中的值在两列的串联中。真的,我需要通过第二个值作为ID,以便我的代码可以过滤。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以将变量MyAccount声明为数组,然后使用冒号作为分隔符拆分组合框值。然后,您可以使用数组的第二项。

Sub second_value()
    Dim MyAccount() As String

    MyAccount = Split(UF_Format.CB_Account.Value, " : ")
    Debug.Print MyAccount(1)
End Sub