在d1:h1分别输入那5种结果,把相应的序列输在每个结果下面→选a1→插入→名称→定义→名称框输一名称(如www)→点引用位置右边带红图标→选区域d1:h1→点带红图标→确定→选中d1:h8(根据情况调整数字8,即8是d-h列的最大数据行→插入→名称→指定→去掉最左列的勾→确定→选b1→进入数据有效性→选序列→来源框输入:=indirect(a1)→确定→若出现对话框点yes即可
要用VBA才行,按alt+F11进入,然后双击左边工作表名称,在右边复制
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 And Target.Row = 1 And Target.Count = 1 Then
With Range("B1").Validation
If Range("A1") >= 17 And Range("A1") <= 24 Then
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="24,23,22,21,20,19,18,17"
ElseIf Range("A1") >= 10 And Range("A1") <= 16 Then
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
Formula1:="16,15,14,13,12,11,10"
'如果还有其他,请在此加入,同样,先用Elseif 输入条件,然后复制后更改最后一句即可
End If
End With
End If
End Sub
有问题Hi我
定义名称,数据有效性引用
理解错了 学习一下。