首页 > 解决方案 > 只有一个过滤器有效?

问题描述

我的高级过滤器工作得很好,除了如果第一个过滤器是空的,其他过滤器都不起作用......

我的第一个过滤器是年份,如果我将其留空以仅查找一个国家/地区,它只会清除所有数据。

(它不会让我上传图片,因为它太多 mb)但基本上它看起来像这样:

过滤器:年份、国家、时代

如果我输入年份,它会显示正确的数据,包括国家和时代的正确数据,但如果我将年份留空,并输入国家和/或时代,则没有数据显示。

我使用录制宏在 VBA 中创建高级过滤器。

我的代码:

Sheet7.Range("B4").CurrentRegion.AdvancedFilter Action:=XlFilterCopy, _
Criteria Range:=Range("K2:N3"), CopyToRange:=("B8:I8"), Unique:=False

标签: excelvbaadvanced-filter

解决方案


  • 确保在过滤之前清除要粘贴的区域。
  • 确保您的范围地址完全符合数据
  • CopyToRange:=("B8:I8")不是有效范围,它必须是CopyToRange:=Range("B8:I8")

以下将在下面显示的示例中按预期工作:

Option Explicit

Public Sub ApplyAdvancedFilter()

    Range("B4").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("K2:M3"), CopyToRange:=Range("B12"), Unique:=False

End Sub

在此处输入图像描述

欲了解更多信息,请查看……


推荐阅读