Excel 2003组合/验证数据列表值和标签
-
12-10-2019 - |
题
我无法找到此信息:是否可以在这两种类型的列表中显示标签,而不是实际值? 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属性设置为具有所需值的列。