excel自动更新中的从属下拉列表

时间:2015-05-08 16:59:40

标签: excel

我可以在excel中创建简单的依赖下拉列表,如下面的屏幕截图所示。

http://s14.postimg.org/sip3g4nc1/dropdown1.jpg 如果我在单元格E1中选择TeamA,TeamA的所有三个成员都会显示在单元格F1的下拉列表中

现在我想实现以下场景 -

  1. 第一个成员将在F1中显示,并立即选择E1中的Team。目前无论我在单元格E1中选择什么,F1都保持不变,直到我通过单击F1的下拉列表更改值。

  2. 将有另外两个单元格来保存G1和H1中的成员。因此,三个成员将有三个单元格。当我在E1中选择Team时,将立即使用相应的成员更新三个单元格(F1,G1和H1)。每个成员单元格都有下拉列表,其中包含所有成员以便稍后选择所需成员 http://s16.postimg.org/zb2pja4hh/dropdown2.jpg

1 个答案:

答案 0 :(得分:1)

假设您使用了间接引用(TeamA下的行名为TeamA,依此类推):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng(1) As Range, rng1 As Range
Set rng(0) = Range("E1") 'your primary selection
Set rng(1) = Range("F1:H1") 'your secondary selection range
Application.EnableEvents = False
If Not Intersect(Target, rng(0)) Is Nothing Then 'if you have changed your primary selection
    For Each rng1 In rng(1) 'each cell in your secondary selection
        i = i + 1
        rng1 = Range("" & rng(0).Value2)(i, 1) 'gets changed to the nth value in the indirect reference of the primary selection ("TeamA" 's second row is "MemberA2" for example)
    Next
End If
Application.EnableEvents = True
End Sub

您需要将此子文件放入工作表模块中,并使用.xlsm扩展名保存文件。