执行macros到第二个下拉列表,当点击第一个下拉列表

我有两个下拉列表,有没有办法自动select第二个下拉列表,当我从第一个下拉列表中select一个选项?

下拉列表使用2数据透视表进行数据validation。

Private Sub Worksheet_Change(ByVal Target As Range) Dim cell As Range For Each cell In Target If Not Intersect(cell, Range("F9")) Is Nothing Then Call Sample_Click ElseIf Not Intersect(cell, Range("F10")) Is Nothing Then Call Sample2_Click End If Next cell End Sub 

Sample_Click

 Dim ACount As Integer Dim Dept As String Dim Func As String Dim Pos As String Range("F9").Select Dept = Trim(ActiveCell.Value) Sheets("Sheet1").Select ActiveSheet.PivotTables("PivotTable1").PivotFields("Dept").ClearAllFilters ActiveSheet.PivotTables("PivotTable1").PivotFields("Dept").CurrentPage = Dept ACount = ActiveSheet.PivotTables("PivotTable1").RowRange.Cells.Count ACount = ACount + 2 Sheets("Home").Select Range("F10").Select With Selection.Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="=Sheet1!$A$4:$A$" & ACount .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With ActiveCell.Formula = "" 

问题

Sample2_ClickSample_Click相同,区别在于Range("")值。 尽pipe我尝试了所有的努力,但我却遇到了错误。

当使用相交时,你不需要循环所有的单元格…也应该是正确的…这样,你需要的只是:

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [F9]) Is Nothing Then [F10].Select ElseIf Not Intersect(Target, [F10]) Is Nothing Then [F11].Select End If End Sub 

…为我工作没有错误…