基于自动筛选器的下拉菜单
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
永远不要使用 Range
、Cells
、Rows
或 Columns
而不指定它们所在的工作簿和工作表。否则 Excel“猜测”它可能会猜错。
我正在尝试创建一个自动过滤器,它采用“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
永远不要使用 Range
、Cells
、Rows
或 Columns
而不指定它们所在的工作簿和工作表。否则 Excel“猜测”它可能会猜错。