在第一张工作表中创建一个下拉列表,该列表将用于控制另外两张工作表的不同下拉列表的内容。在这个例子中,我们假设第一个下拉列表使用单元格A1:
在第二个工作表中创建一个命名区域,该区域将用于存储第二个下拉列表的内容。在这个例子中,我们假设从单元格A1开始的第二个下拉列表:
在第三个工作表中创建另一个命名区域,与第二个工作表中的相同。在这个例子中,我们假设从单元格A1开始的第三个下拉列表:
使用VBA编写下拉菜单的控制代码。代码如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
'Clear previous list
ThisWorkbook.Names("List2").RefersToRange.Clear
ThisWorkbook.Names("List3").RefersToRange.Clear
'Add new values to List2 and List3
Select Case Range("A1")
Case "Category1"
ThisWorkbook.Names("List2").RefersTo = "=Sheet2!$A$1:$A$3"
ThisWorkbook.Names("List3").RefersTo = "=Sheet2!$B$1:$B$3"
Case "Category2"
ThisWorkbook.Names("List2").RefersTo = "=Sheet