如何区分列表框中显示的文本与实际值.

Fra*_*zzi 4 vba

我有一个带有多选选项的列表框.我使用该addItem函数填充它.我在Google上找不到关于此的任何文章,但我需要区分列表框中显示的文字和真实值.

例如:

shown      hiddenvalue
--------   -----------
monday     A1
tuesday    A2
wednesday  C7
Run Code Online (Sandbox Code Playgroud)

等等

可能吗?我如何访问这些值?

GSe*_*erg 7

对于VBA列表框,您希望:

  1. 声明两列(ColumnCount = 2).
  2. 隐藏第二个:ColumnWidths = ";0".
  3. 将第二列声明为bound(BoundColumn = 2),将第一列声明为textual(TextColumn = 1).
  4. 有一个添加值的过程:

    Private Sub AddWithID(Text As String, ID As String)
      ListBox1.AddItem Text
      ListBox1.List(ListBox1.ListCount - 1, 1) = ID
    End Sub
    
    Run Code Online (Sandbox Code Playgroud)

现在,对于单选列表框,您可以使用.Value.Text查找选定的值/文本.

对于多选列表框,您可以使用.List(i, 0)文本和.List(i, 1)值,i在行的索引中.