在其他工作表中引用下拉列表值

我有一个多个下拉列表,select一个特定的文本值的工作表。 当我在另一个表单中引用这些单元格时,我得到与所选值相对应的数字,而不是数值本身,例如。 我在我的下拉列表中select了一个名称,它是该列表中的第二个值,所以当我引用这个单元格时,在另一个表格中得到“2”。

我已经尝试了价值函数,但无济于事。 我怎样才能显示在这张新表中的实际值,而不是检索列表中的值的数字?

感谢您的时间。

我假设你使用表单combobox控件 – 你已经在控件属性中input了一个input范围和一个单元格链接。

使用INDEX公式来返回项目。 例如,如果您的input范围是$ B $ 1:$ B $ 4,并且您的单元格链接是$ B $ 11,则此公式将返回值: =INDEX($B$1:$B$4,$B$11)

如果您的链接单元格显示为3,则表示“从input范围列表中返回第三个项目”。

要通过VBA代码返回值,请将此代码添加到正常模块中:

 Sub Dropdown_OnChange() Dim dd As DropDown Set dd = ActiveSheet.Shapes(Application.Caller).OLEFormat.Object MsgBox dd.List(dd.ListIndex) End Sub 

右键单击您的控件,select“分配macros”并select上面的代码macros。 该代码将适用于所有下拉框 – Application.Caller返回哪个下拉式事件触发。
注意:从复制的代码从下拉框中返回选定的文本