Excel 高级筛选器无法作为工作表_更改的一部分工作(按Val)

Excel 高级筛选器无法作为工作表_更改的一部分工作(按Val),excel,vba,filter,Excel,Vba,Filter,我正在尝试使用高级过滤器在设置条件更改后自动更新图形 有三个特定单元格在单独的工作表上设置标准范围,该工作表用于过滤这些新值,然后生成更新的图形 i、 e。 当表A上的设置单元格值发生变化时,我试图在表B(图表表)上使用来自表A(汇总表)的数据的高级过滤器,这将更新表A上的图表,该图表从表B上的过滤表中获取数据 不幸的是,下面的代码(也使用查看表格的替代项,而不是设置单元格范围)没有按要求完成高级筛选,即使我单独运行高级筛选代码,它似乎确实会筛选表格(从而更新图表) 任何帮助都将不胜感激 Pri

我正在尝试使用高级过滤器在设置条件更改后自动更新图形

有三个特定单元格在单独的工作表上设置标准范围,该工作表用于过滤这些新值,然后生成更新的图形

i、 e。 当表A上的设置单元格值发生变化时,我试图在表B(图表表)上使用来自表A(汇总表)的数据的高级过滤器,这将更新表A上的图表,该图表从表B上的过滤表中获取数据

不幸的是,下面的代码(也使用查看表格的替代项,而不是设置单元格范围)没有按要求完成高级筛选,即使我单独运行高级筛选代码,它似乎确实会筛选表格(从而更新图表)

任何帮助都将不胜感激

Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range

Set KeyCells = Worksheets("Summary Sheet").Range("O5:S6")

If Not Application.Intersect(KeyCells, Range(Target.Address)) _
       Is Nothing Then

Sheets("Graph Sheet").Select
Application.CutCopyMode = False
Application.CutCopyMode = False
Range("A7:S1002").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
    Range("G1:I2"), Unique:=False
Sheets("Summary Sheet").Select

End If

End Sub
替代代码

Sheets("Graph Sheet").Select
Application.CutCopyMode = False
Application.CutCopyMode = False
Range("Filter[#All]").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
    Range("G1:I2"), Unique:=False
Sheets("Summary Sheet").Select

代码“正在运行”时不会出现错误消息,但在对代码进行多一点操作后,表未按所需值进行筛选

,我似乎找到了解决方案。代码正在查看工作表A以获取高级筛选条件(这是空白数据),我所需要做的就是将工作表添加到CriteriaRange中…不合格的
范围
调用是针对
Me
的成员调用,即编写代码的
工作表
模块(将是对
ActiveSheet
的隐式/间接引用,否则)。不要
选择
工作表,声明一个
工作表
变量,并
将其设置为要使用的工作表对象,然后使用该变量限定对该特定工作表进行操作的
范围
成员调用。谢谢@MathieuGuindon,我对VBA的使用还比较陌生,所以它不是很简单非常感谢:DFWIW(我管理的一个免费、开源的VBE插件项目)可以帮助您的缩进保持完美的一致性,即使是专业程序员也不会注意到您有多么缺乏经验,它还可以在您的代码中找到“初学者陷阱”。)在进一步使用代码之后,我似乎找到了一个解决方案。代码正在查看工作表A以获取高级筛选条件(这是空白数据),我所需要做的就是将工作表添加到CriteriaRange中…不合格的
范围
调用是针对
Me
的成员调用,即编写代码的
工作表
模块(将是对
ActiveSheet
的隐式/间接引用,否则)。不要
选择
工作表,声明一个
工作表
变量,并
将其设置为要使用的工作表对象,然后使用该变量限定对该特定工作表进行操作的
范围
成员调用。谢谢@MathieuGuindon,我对VBA的使用还比较陌生,所以它不是很简单非常感谢:DFWIW(我管理的一个免费、开源的VBE插件项目)可以帮助您的缩进保持完美的一致性,即使是专业程序员也不会注意到您有多么缺乏经验,它还可以在您的代码中找到“初学者陷阱”。)