我无法找到这些信息:是否可以在这两种类型的列表中显示标签而不是实际值?当然,当选择标签时,单元格或组合框的值(作为Form控件)将获得实际值。
实施例: *数据 产品A< ------> 10 产品B< ------> 11 产品C< ------> 22
Combobox显示:产品A,产品B和产品C. 如果我选择A,我得到10值,B得到11值,C得到22值
提前谢谢
Miloud B。
答案 0 :(得分:2)
这样做的典型方法是使用查找表。有一个名为VLOOKUP(这是部分名称)的函数,您可以在公式中使用它来检索值。我在我的工作中做了类似的事情,我在一个单独的电子表格中创建了一个查找表,然后在我的主电子表中调用了查找功能。
你也可以使用宏,但是对于当前的问题,我觉得这太麻烦了。
答案 1 :(得分:1)
数据验证:每行不能有两个值。您可以使用查找表将一个值转换为另一个值。或者您可以组合像“ProductA_10”这样的值,并使用公式将“10”提取到您需要的位置。
表格Combobox :这也有限的选项,并没有提供比DV更多的东西。
工具箱组合框:这可以做任何你想要的事情。您可以将ColumnCount属性设置为2,将BoundColumn属性设置为2,将ColumnWidths属性设置为类似“1; 0”的内容以隐藏第二列。如果我在A1:A3中有ProductA-C,在B1:B3中有10-12,那么我会在标准模块中使用这样的代码来填充组合框
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
每当选择组合框中的新值时,F1都会更新。我们可以使用组合框的Value属性,因为我们将BoundColumn属性设置为具有我们想要的值的列。