你如何设置显示值,但select密钥的下拉菜单?

在Excel中,我有一个定义的名称范围,其值如下所示:

+----------+------+ | BodyPart | Code | +----------+------+ | Head | 1 | | Torso | 2 | | Abdomen | 3 | | Ankle | 4 | +----------+------+ 

由于代码很难记住,我正在尝试设置数据validation,以在下拉菜单中显示BodyParts,并在选中时在电子表格中显示代码。

这是如何完成的?

这是一个vba解决scheme,将解决您的问题(链接解释如何做,以防万一你需要他们)的各种事情:

  1. 将您的表格放在文件的另一张表格中
  2. 将BodyPart列定义为BodyPart (将作用域设置为Workbook Level)
  3. 为整个表(两列)定义一个名称BodyPartCode (将范围设置为工作簿级别)
  4. 将每个单元格的数据validation设置为具有Source =BodyPart列表
  5. 将下面的代码放在Worksheet Module的数据中。

下面的代码将在用户每次更改工作表上的单元格值时运行。 如果更改的单元格与DropDown列表位于同一列中,则代码将根据input的正文部分查找正文部分代码,然后从单元格中删除数据validation,以便代码可以在不中断的情况下input到单元格中身体部分的validation下拉。

 Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Column = 6 Then 'assumes drop-downs listed in column F, change as needed Dim sPart As String, sCode As String sPart = .Value2 sCode = Application.WorksheetFunction.VLookup(sPart, Range("BodyPartCode"), 2, 0) Application.EnableEvents = False .Validation.Delete .Value = sCode Application.EnableEvents = True End If End With End Sub