Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel:是否使用vba更改验证列表中选定值的值?_Excel_Vba_Validation - Fatal编程技术网

Excel:是否使用vba更改验证列表中选定值的值?

Excel:是否使用vba更改验证列表中选定值的值?,excel,vba,validation,Excel,Vba,Validation,我有一个列,每个单元格中都有一个数据验证列表 以下是我的清单: ND - No Delivery SD - Short Delivery OD - Over Delivery Other 我想尝试实现的是,如果用户从数据验证列表中选择值,则单元格将更改为以下之一: ND - No Delivery = ND SD - Short Delivery = SD OD - Over Delivery = OD Other = Other 所以我的细胞最终可能看起来像这样: ND SD OD

我有一个列,每个单元格中都有一个数据验证列表

以下是我的清单:

ND - No Delivery
SD - Short Delivery
OD - Over Delivery
Other
我想尝试实现的是,如果用户从数据验证列表中选择值,则单元格将更改为以下之一:

ND - No Delivery = ND

SD - Short Delivery = SD

OD - Over Delivery = OD

Other = Other
所以我的细胞最终可能看起来像这样:

ND
SD
OD
Other
因此,如果用户选择No Delivery,则单元格中的值将设置为'ND',依此类推

这里唯一的例外是other,它在单元格中仍应设置为other

下面是将其放入上下文的示例代码:

   If .Range("B1").Value = "ND - No Dleivery" Then
      .Range("B1").Value = "ND"
   End If
我对单元格的验证应该只允许输入“ND”、“SD”、“OD”或“Other”——但列表应该包含:

ND - No Delivery
SD - Short Delivery
OD - Over Delivery
Other
有人能告诉我实现这一目标的最佳方法吗?
提前感谢

是否有更多的视觉和解释,如果您能提供一些样品会很好吗

在要反映选定选项的选定单元格上

=IFERROR(IF(A2="No Delivery";"ND";IF(A2="Short 
         Delivery";"SD";IF(A2="Over Delivery";"OD")));"Other")
告诉我这是不是你需要的

谢谢


然后,您将失去该单元格中的验证功能:可以吗?顺便说一句,你可能想花点时间,对你以前的许多问题的答案给出反馈。我可以有上面的列表,但将单元格验证更改为ND、SD、OD等吗@User3598756如何使用vba创建此文件?您好,我没有使用vba创建此文件。是否要求使用VBA?它是否必须位于同一单元格中,内容才能获取示例中的值。“ND”?