Excel中用数据有效性和Indirect做的下拉菜单,怎样在变化选择时变化下拉框的内容
我做了个下联框,是一段indirect的数据,根据选择不同,indirect的数据会变,但是空白的时候没问题,当一开始选了一个A出来一段对应A的下拉框,但是当我选择B的时...
我做了个下联框,是一段indirect的数据,根据选择不同,indirect的数据会变,但是空白的时候没问题,当一开始选了一个A出来一段对应A的下拉框,但是当我选择B的时候,下拉框下面下拉的内容是变成B对应的数据了,但是当前单元格显示的还是之前选A时我选的数据,请告诉帮忙解决一些这个问题,再A到B的变化中这个框怎么能自己变成空白,谢谢!
展开
4个回答
展开全部
Excel中的数据有效性更新是被动式,因此如果你想用公式来实现下拉列表自动更新是做不到的。
最好的做法是利用VBA,打开VBA代码输入窗口之后,在对应的Sheet代码输入窗口中输入以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$4" Then Cells(5, 5) = ""
End Sub
代码中的Target.Address = "" 引号中的内容为Indirect指向的单元格的地址,就是你输入A或者B的那个单元格,然后Cell(x,y)表示你需要自动变成空白的那个单元格,括号中的那两个数字,第一个数字表示行号,第二个表示列号,如单元格E5,对应的行号列号都是5
这样,如果你每次改变单元格D4中的值的时候,单元格E5中的值就会变为空白,然后你可以在单元格E5中设置数据有效性下拉列表,这样如果D4中的值不变,你可以在E5中任意选择你想要的数据,每次D4变化后,E5就会清空,方便你从列表中输入新的选项
最好的做法是利用VBA,打开VBA代码输入窗口之后,在对应的Sheet代码输入窗口中输入以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$4" Then Cells(5, 5) = ""
End Sub
代码中的Target.Address = "" 引号中的内容为Indirect指向的单元格的地址,就是你输入A或者B的那个单元格,然后Cell(x,y)表示你需要自动变成空白的那个单元格,括号中的那两个数字,第一个数字表示行号,第二个表示列号,如单元格E5,对应的行号列号都是5
这样,如果你每次改变单元格D4中的值的时候,单元格E5中的值就会变为空白,然后你可以在单元格E5中设置数据有效性下拉列表,这样如果D4中的值不变,你可以在E5中任意选择你想要的数据,每次D4变化后,E5就会清空,方便你从列表中输入新的选项
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
由于问题不够具体,只能给你提供解决思路:组合Offset和Match定义名称,数据有效性选择对应名称。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询