基于自动筛选器的下拉菜单

Autofilter based off drop down

我正在尝试创建一个自动过滤器,它采用“sheet1”的 A2 中的内容,并在 F2 及以下更改“Sheet2”上的过滤器;

这是到目前为止的代码,我只需要让它查看不同的工作表

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F" Then
        If Range("F2") = "All" Then
            Range("A2").AutoFilter
        Else
            Range("A2").AutoFilter Field:=6, Criteria1:=Range("F2")
        End If
    End If
End Sub

您需要指定 workbook/worksheet 您的范围。否则VBA无法知道。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F" Then
        If ThisWorkbook.Worksheets("Sheet1").Range("F2") = "All" Then
            ThisWorkbook.Worksheets("Sheet2").Range("A2").AutoFilter
        Else
            ThisWorkbook.Worksheets("Sheet2").Range("A2").AutoFilter Field:=6, Criteria1:=ThisWorkbook.Worksheets("Sheet1").Range("F2")
        End If
    End If
End Sub

永远不要使用 RangeCellsRowsColumns 而不指定它们所在的工作簿和工作表。否则 Excel“猜测”它可能会猜错。