excel中 动态下拉框 用来选择 30
在sheet1中,在A列有数据单位名称(N个单位),且会有重复;B列中,有该单位对应的工作人员,多名工作人员。现在在sheet2中,想B5设置下拉列表框,当A5,选一特点...
在sheet1中,在A列有数据单位名称(N个单位),且会有重复;B列中,有该单位对应的工作人员,多名工作人员。
现在在 sheet2中,想B5设置下拉列表框,当A5,选一特点单位时,要在B5中下拉列表中,列示出可供该特点单位的人员选择。前一列选不同的单位,后一列的下拉列表的可选项是动态变化的。
sheet1中,单位与人员,是一对多的关系(同一单位也多行都有)。现在网有的多级联动下拉框的方式,好象解决不了这个问题。
欢迎高手帮助!
我好好想了想,可能函数无法解决该问题。自已用VBA编程方法解决了。步骤如下:
(1)在需要下拉框的sheet2表页的
Private Sub Worksheet_SelectionChange(ByVal Target As Range)事件中,
获得当前鼠标的行与列:Target.Row 、 Target.Column
根据这个这前行与列,读取对应前一列的值,再写在模块中写二个子程序,并调用二个子程序;
(2)子程序1,就是将上面的值,作为条件,在另一张表(sheet1)中,搜寻指定列一定行中符合值的数据(即:单位),符合时,将当前的行数记录在数组中,并确定数组的元素个数,再用数组所记录的行次,找对应列的数据(即:人员名称),并形成字符串,也就是中间有“,”号的字符串,即:在另一个子程序中生成下拉框的列表值所需字符串的形式,如:“张三,李四,王五”;
(3)子程序2 就是在指字位置单元格生成下拉框,传入下拉框所需的字符串。 展开
现在在 sheet2中,想B5设置下拉列表框,当A5,选一特点单位时,要在B5中下拉列表中,列示出可供该特点单位的人员选择。前一列选不同的单位,后一列的下拉列表的可选项是动态变化的。
sheet1中,单位与人员,是一对多的关系(同一单位也多行都有)。现在网有的多级联动下拉框的方式,好象解决不了这个问题。
欢迎高手帮助!
我好好想了想,可能函数无法解决该问题。自已用VBA编程方法解决了。步骤如下:
(1)在需要下拉框的sheet2表页的
Private Sub Worksheet_SelectionChange(ByVal Target As Range)事件中,
获得当前鼠标的行与列:Target.Row 、 Target.Column
根据这个这前行与列,读取对应前一列的值,再写在模块中写二个子程序,并调用二个子程序;
(2)子程序1,就是将上面的值,作为条件,在另一张表(sheet1)中,搜寻指定列一定行中符合值的数据(即:单位),符合时,将当前的行数记录在数组中,并确定数组的元素个数,再用数组所记录的行次,找对应列的数据(即:人员名称),并形成字符串,也就是中间有“,”号的字符串,即:在另一个子程序中生成下拉框的列表值所需字符串的形式,如:“张三,李四,王五”;
(3)子程序2 就是在指字位置单元格生成下拉框,传入下拉框所需的字符串。 展开
展开全部
你需要先做一个辅助表,把人员按单位分列列示出来(单位列表不具重复),然后用数据有效性的动态联动办法就可以做到
或者说不用辅助表,把你的表1改动一下,方便套用也可以
或者说不用辅助表,把你的表1改动一下,方便套用也可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先把sheet1以a列为关键字做升序排列,定义名称aa
=sheet1!$A:$A
设置sheet2!B5数据有效性,序列
=OFFSET(aa,MATCH(A5,aa)-COUNTIF(aa,A5),1,COUNTIF(aa,A5))
=sheet1!$A:$A
设置sheet2!B5数据有效性,序列
=OFFSET(aa,MATCH(A5,aa)-COUNTIF(aa,A5),1,COUNTIF(aa,A5))
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
N个单位的N 等于几?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询