从ComboBox中提取数据

时间:2017-07-28 18:32:09

标签: vba

我有一个由表填充的ComboBox,但是当我填充了我的ComboBox时,我将它与某些格式连接起来。

Do
    strValue = "Loc: " & .Fields(0).Value & " Weight : " & .Fields(1).Value

    cbAlloys.AddItem strValue
    rsDB1.MoveNext

Loop Until rsDB1.EOF

所以现在它是这样的,我需要只取重量值并输出它,除了重量数外。

我试过了:

siBinWeightDescription.Value = cbBinAndWeight.Value
siBinWeightDescription.Value = InStr(6, cbBinAndWeight.Value)

但是,后来意识到Instr只输出计数。

我如何从ComboBox获取所需的重量值?

2 个答案:

答案 0 :(得分:1)

回答问题的多列comobobox部分:

为AddItem使用数组(如果需要,可将其放入循环中)

  Dim Arr(0 To 1) As String
  Arr(0) = "Col 1"
  Arr(1) = "Col 2"
  cmb.AddItem Arr

并检索所选项目的数据:

cmb.List(cmb.ListIndex, 1)

您还可以为列号设置枚举,如下所示:

Enum ColList
  Loc=0
  Weight=1
End Enum

然后检索数据看起来像这样(更易读的代码)

cmb.List(cmb.ListIndex, ColList.Weight)

另外,你不必使用字段......你可以像这样解决你的记录集:

rsDB1!Weight

答案 1 :(得分:0)

将字符串拆分为数组(基于零)

 debug.print split("Loc: abc Weight : 1234"," ")(4)  ' the second argument is the separator character

 debug.print split("Loc: abc Weight : 1234")(4)      ' space is the default separator

均打印1234