2017-07-28 5 views
0

Ich habe eine ComboBox, die von einer Tabelle ausgefüllt wird, aber wenn ich meine ComboBox ausgefüllt habe, habe ich sie mit einigen Formatierungen verkettet.Ziehen von Daten aus einer ComboBox

Jetzt, da es so ist, muss ich nur den Gewichtswert nehmen und es ohne irgendetwas außer der Gewichtszahl ausgeben.

Ich versuchte dies:

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

Aber später erkannte, dass Instr nur die Zählung ausgibt.

Wie würde ich den Gewichtswert, den ich brauche, von der ComboBox bekommen?

+0

Sie sollten stattdessen eine mehrspaltige Combobox verwenden. Das würde dein Leben viel einfacher machen. Dann können Sie einfach ein Array mit Ihrem AddItem verwenden und die List (row, col) -Eigenschaft verwenden, um alle gewünschten Daten vom ausgewählten Element abzurufen. – braX

+0

https://stackoverflow.com/questions/30455382/excel-vba-inserting-values-into-multicolumn-combobox – braX

+0

Sie können auch ein dynamisches Array der Literalwerte erstellen. Dann, basierend auf dem Index des Rückgabewerts des Combo-Item-Indexes von Ihrem Array. –

Antwort

1

den mehrspaltigen comobobox Teil der Frage zu beantworten:

Verwenden Sie ein Array für AddItem (Put es in eine Schleife, wenn Sie wollen)

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

und Daten für die ausgewählte i abrufen tem:

cmb.List(cmb.ListIndex, 1) 

Sie auch eine Aufzählung für Ihre Spaltennummern wie folgt angegeben werden:

Enum ColList 
    Loc=0 
    Weight=1 
End Enum 

dann Daten abzurufen es wie folgt aus (viel lesbarer Code)

cmb.List(cmb.ListIndex, ColList.Weight) 
aussehen würde

Sie müssen auch nicht das Wort Felder verwenden ... Sie können Ihr Recordset wie folgt adressieren:

rsDB1!Weight 
0

Split String in ein Array (Null basierend)

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 

beide Druck 1234

Verwandte Themen