只有一个过滤器有效吗?

时间:2019-04-26 08:13:09

标签: excel vba advanced-filter

我的高级过滤器运行正常,除了以下事实:如果第一个过滤器为空,则其他过滤器均不起作用...

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

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

过滤器:年,国家,时代

如果我输入年份,它将显示正确的数据,包括国家和时代的正确数据,但是如果我将年份留为空白,输入国家和/或时代,则不会显示任何数据。

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

我的代码:

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

1 个答案:

答案 0 :(得分:0)

  • 在过滤之前,请确保清除要粘贴到 的区域。
  • 确保您的范围地址完全符合 数据
  • 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

enter image description here

有关更多信息,请参阅…