excel中 怎么实现满足条件时才有下拉列表

“到货时间”是一个有效性设置的下拉列表可选1月、2月、3月...12月、未知。(总共13个选项)
如下需要帮助:
1、当到货时间为“未知”时,怎么设置“货位”变成下拉列表可以选择“厂家原因”或者“断货”?
2、当到货时间为非未知时,去除下拉列表呢?

在工作表宏窗口粘贴以下事件驱动:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Column = 2 Then
With Target.Validation
.Delete
If Target.Offset(0, -1) = "未知" Then
.Add Type:=xlValidateList, Formula1:="厂家原因,断货"
End If
End With
End If
On Error GoTo 0
End Sub追问

的确在效果上是出来的。但好像有个还需要改善:但选择“未知”变其他选项时,B2依然有下拉列表(移开鼠标点其他地方再点回来才可以实现)
还有个问题想追问:你这个代码是对B2所有效,请问怎么定义我要的单元格呢?比如E9、P9啊

追答

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 Then
Target.Offset(0, 1).Validation.Delete
End If
If Target.Column = 2 _
Or (Target.Column = 5 And Target.Row = 9) _
Or (Target.Column = 16 And Target.Row = 9) _
Then
With Target.Validation
.Delete
If Target.Offset(0, -1) = "未知" Then
.Add Type:=xlValidateList, Formula1:="厂家原因,断货"
End If
End With
End If
On Error GoTo 0
End Sub

原来的代码对B列的所有单元格有效。新的代码加了改进和E9、P9。是否起作用是靠对Target.Column 和Target.Row的值进行判断的。

温馨提示:内容为网友见解,仅供参考
无其他回答

如何在Excel中创建下拉列表并设置有效性条件?
方法一:数据有效性首先,打开你的Excel工作簿,选中目标单元格,点击数据(D) > 有效性(L)。设置“允许”为“序列”,勾选“忽略空值”和“显示下拉箭头”。在“源”中,输入你需要的选项,如1, 2, 3,确保用英文逗号分隔。如果数据来自其他单元格,可用"$A$1:$A$5"作为源代码。方法二:自动...

excel下拉列表设置方法
我们可以看到界面中出现2种添加方式1,“手动添加下拉选项”,这种方式,适合选项较少的下拉列表,如添加“男”和“女”2,“从单元;选中需要设置下拉选项框的单元格,再单击菜单栏中的“数据”点击“下拉列表”选项全部输入完成后点击“确定”按钮详细步骤1首先我们打开需要设置下拉选择项的Excel表格2单击...

在excel中,怎么插入下拉列表?
1、首先在打开的表格中,输入条件内容,选择要设置下拉列表的单元格。2、然后点击上方菜单栏的数据,点击插入下拉列表。3、点击从单元格选择下拉选项。4、这时点击如图所示中的按钮,选择所填写的条件内容。5、返回后点击下方的确定。点击单元格就会出现下拉箭头,就可选择条件内容。

excel下拉列表怎么设置
一、使用数据验证 (1)通过数据有效性可以在单元格中提供一个下拉箭头,单击下拉箭头会弹出下拉列表。单击菜单栏【数据】选项 , 点击【数据验证】, 从弹出窗口设置验证条件【序列】, 【来源】鼠标选中所需内容,点击确认即可。(小编用的是2016版本的,其他版本的Excel是选择【数据】【数据有效性】。...

EXCEL中下拉列表的条件设置问题
1、先将表格框架大致建立好,将姓名全部输入到A列,B列性别列具体信息暂时不输入;再到E1列输入男,E2列输入女;2、先将EXCEL的功能区切换到“数据”,再用鼠标选中B2到B7列;3、点击“数据有效性”→“数据有效性”,弹出数据有效性窗口;4、在“数据有效性”窗口,将有效性条件下的允许设置为“...

EXCEL中怎么设置有下拉框的选择
在Excel中设置有下拉框的选择过程如下:首先,选中你需要设置下拉选项的列,然后在菜单栏中找到并点击“数据”选项,接着选择“有效性”选项,这将打开一个新的对话框。接下来,你需要在对话框的“设置”部分,找到并点击“有效性条件”,在下拉列表中选择“序列”选项,这将允许你创建一个自定义的选项...

在Excel表格中怎么设置下拉选项内容?
1、首先,在电脑中打开需要设置下拉选择项的Excel文件,并输入选择项的内容。2、鼠标选中需要设置下拉选项的单元格,点击“数据”菜单,选择“数据验证”。3、随后弹出“数据验证”对话框,在“验证条件”下选择“序列”,勾选“忽略空值”和“提供下拉箭头”。4、在“来源”输入框中框选已经设置好的...

Excel工作表下拉列表该怎么设置?
1、首先,打开Excel电子表格,单击菜单栏中的数据,然后工具栏中选择有效性的选项。2、在选择有效性后,会出现一个数据有效性的对话框,单击有效性对话框中的设置。会出现有效性条件的选项,在允许的那项单击下拉按钮,出现一些选项,我们勾选序列。3、在设置完允许的条件后,再对来源输入我们所需的内容...

excel中单元格怎样实现有条件的下拉框
第一步:在AB列输入对照表 序号字母 1a 2b 3c 第二步:选择序号这一列,插入-名称-指定,名称在首行。第三步:在表2的D列设置数据有效性,序列,来源:=序号 (这里假设有很多数据需要设置,如果只是1,2,3,那么可以省略第二步)第四步:选择E列-数据-有效性-序列,来源处输入:=OFFSET($A$...

EXCEL怎么制作下拉菜单带条件那种,比如第一层选择某个省,下一列就会...
首先,选中包含省份的列,对其进行重命名,便于后续操作。然后将光标移动到需要填写省份的区域,找到菜单栏中的“数据”选项,选择“数据验证”功能。在数据验证设置中,选择“序列”选项,将“来源”字段设置为你刚才重命名的省份列。这样,每次在省份下拉列表中选择时,Excel会自动匹配对应的市区数据。接...

相似回答