在不同的工作表上应用基于ActiveCell的过滤器

时间:2009-08-17 14:42:44

标签: excel vba filter

以下VBA代码位于名为“SCU”的工作表中,单元格“C4”是我想要过滤的信息。 当双击“C4”时,这会将我们带到“帐户数据”表并尝试过滤活动单元格,但是因为它位于单独的工作表中,我在过滤器中得到错误的数据(“SCU中不是”C4“我想知道是否有办法修改“SCU”工作表?

Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("C4")) Is Nothing Then
Else
    Sheets("Account Data").Select
    Selection.AutoFilter Field:=1, Criteria1:=ActiveCell
End With
End If
End Sub

希望你能帮忙! 迈克福斯特

1 个答案:

答案 0 :(得分:1)

选择工作表时,ActiveCell会更改。

尝试

Criteria1:=Intersect(Target, Sheets("SCU").Range("C4"))

或者使用

Criteria1:=Sheets("SCU").Range("C4")

如果这不起作用,因为过滤器单元是动态的,那么请提供更多详细信息,以便我们能够提出更好的解决方案。