我有一个带有多选选项的列表框。addItem
我使用该函数填充它。我在谷歌上找不到任何关于这个的文章,但我需要区分列表框中显示的文本和一个真实的值。
例如:
shown hiddenvalue
-------- -----------
monday A1
tuesday A2
wednesday C7
等等
是否可以?如何访问这些值?
我有一个带有多选选项的列表框。addItem
我使用该函数填充它。我在谷歌上找不到任何关于这个的文章,但我需要区分列表框中显示的文本和一个真实的值。
例如:
shown hiddenvalue
-------- -----------
monday A1
tuesday A2
wednesday C7
等等
是否可以?如何访问这些值?
对于 VBA 列表框,您想要:
ColumnCount = 2
)。ColumnWidths = ";0"
。BoundColumn = 2
),将第一列声明为文本 ( TextColumn = 1
)。有一个添加值的过程:
Private Sub AddWithID(Text As String, ID As String)
ListBox1.AddItem Text
ListBox1.List(ListBox1.ListCount - 1, 1) = ID
End Sub
现在,对于单选列表框,您可以使用.Value
或.Text
找出选定的值/文本。
对于多选列表框,您可以在一行的索引中使用.List(i, 0)
文本和.List(i, 1)
值。i
另一种方式...使用集合。
Private HiddenValue As New Collection
Private Sub CommandButton1_Click()
AddItems "monday", "A1"
AddItems "tuesday", "A2"
AddItems "wednesday", "C7"
End Sub
Private Sub CommandButton2_Click()
MsgBox "Shown Value :" & ListBox1.List(ListBox1.ListIndex) & vbNewLine & _
"Hidden Value " & HiddenValue(ListBox1.ListIndex + 1)
End Sub
Private Sub AddItems(Text As String, ID As String)
ListBox1.AddItem Text
HiddenValue.Add ID
End Sub
快照