1

我无法找到此信息:是否可以在这两种类型的列表中显示标签而不是实际值?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

组合框显示:产品 A、产品 B 和产品 C 如果我选择 AI 获得 10 值,B 获得 11 值,C 获得 22 值

先感谢您

米卢 B.

4

2 回答 2

2

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

您也可以使用宏,但在我看来,这对于当前的问题来说太麻烦了。

于 2011-01-17T16:34:19.187 回答
1

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

Form Combobox:这也有有限的选项,并没有真正提供比 DV 为你想要的东西更多的东西。

Toolbox Combobox:这可以做任何你想做的事情。您可以将 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

Whenever a new value in the combobox is selected, F1 is updated. 我们可以使用组合框的 Value 属性,因为我们将 BoundColumn 属性设置为具有我们想要的值的列。

于 2011-01-17T16:55:13.620 回答