我无法找到此信息:是否可以在这两种类型的列表中显示标签,而不是实际值? of course when a label is selected, the value of the cell or the combobox (as a Form control) gets the real value.

示例: *数据产品A <------> 10产品B <-------> 11产品C <-------> 22

Combobox显示:产品A,产品B和产品C如果我选择AI获得10个值,B 11值和C 22值

先感谢您

Miloud B.

有帮助吗?

解决方案

这样做的典型方法是拥有一个查找表。有一个名为vlookup(这是部分名称)的函数,您可以在公式中使用该功能来检索该值。我在工作中做了类似的事情,然后在单独的电子表格中创建了一个查找表,然后在我的主函数中称为查找功能。

您也可以使用宏,但是我认为目前的问题太麻烦了。

其他提示

数据验证: :您每行不能有两个值。您可以使用查找表将一个值转换为另一个值。或者,您可以将“ producta_10”之类的值结合在一起,并使用公式将“ 10”提取所需的“ 10”。

形式组合: :这也有有限的选项,并且实际上并没有为您想要的东西提供更多的东西。

工具箱连击: :这几乎可以完成您想要的任何事情。您将ColumnCount属性设置为2,将BoundColumn属性设置为2,将列属性设置为“ 1; 0”之类的列属性,以隐藏第二列。如果我在B1:B3中的A1:A3和10-12中有Producta-C,那么我将在标准模块中使用这样的代码来填充ComboBox

Sub LoadCombobox()

    Dim rCell As Range

    For Each rCell In Sheet1.Range("A1:A3").Cells
        Sheet1.ComboBox1.AddItem rCell.Value
        Sheet1.ComboBox1.List(Sheet1.ComboBox1.ListCount - 1, 1) = rCell.Offset(0, 1).Value
    Next rCell

End Sub

和像这样的代码在表格模块中以将值放入单元格中(在此示例中F1)

Private Sub ComboBox1_Change()

    Me.Range("F1").Value = Me.ComboBox1.Value

End Sub

Whenever a new value in the combobox is selected, F1 is updated.我们可以使用ComboBox的值属性,因为我们将BoundColumn属性设置为具有所需值的列。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top