【问题标题】:Excel Advanced Filter not doing anythingExcel 高级筛选器不执行任何操作
【发布时间】:2020-09-25 11:29:34
【问题描述】:

我正在尝试通过编写一个小宏来过滤我的测试数据库,但我不确定它为什么不起作用。 它根本没有做任何事情,即使我尝试使用 Data -> Advanced Filter 做同样的事情。 我要过滤的数据:

我正在尝试在同一张表中进行过滤。标准所在的地方是:

我要复制的地方:

AE3:AT3 将获取值,然后这些值将使用 if 公式更改标准范围。 AD6:AU6 是我要粘贴过滤数据的地方

我正在使用的宏:

    Sub Filterme()
    Sheet1.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Sheet1.Range("AZ2:BO3"), CopyToRange:=Sheet1.Range("AD6:AU6"), Unique:=False
    End Sub

请帮忙。

【问题讨论】:

  • 为什么不使用Sheet1.Range("AZ2").CurrentRegionSheet1.Range("AD6").CurrentRegion。请记住,第一行必须包含标题。另外,如果您还没有,请观看此video
  • 即使进行了更改,宏也没有做任何事情
  • 由于您的所有 Criteria 标头都有一个值,因此如果 Criteria Range 中的单个标头错误,您将不会得到任何结果。另一方面,如果您删除*-s,如果错误的标头没有值,您将得到结果,但是您将不知道标头是否错误。要使用我的代码,请将我的值 A3, A11, A16 替换为您的值 A1,AZ2,AD6

标签: excel vba


【解决方案1】:

高级过滤器示例

此解决方案基于Paul KellyYouTube Video

  • 检查所有三个范围中的标题是否相同。
  • 要使用以下代码,只需将我的值 A3,A11,A16 替换为 你的价值观A1,AZ2,AD6

守则

Option Explicit

Sub FilterMe()
    Const Proc As String = "FilterMe"
    On Error GoTo cleanError

    Const src As String = "A3"
    Const cri As String = "A11"
    Const cop As String = "A16"

    ' Define ranges.
    Dim Source As Range, Criteria As Range, CopyTo As Range
    With Sheet1
        Set Source = .Range(src).CurrentRegion
        Set Criteria = .Range(cri).CurrentRegion
        Set CopyTo = .Range(cop).CurrentRegion
    End With

    ' Apply filter.
    Application.DisplayAlerts = False
    Source.AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Criteria, CopyToRange:=CopyTo, Unique:=False

CleanExit:
    Application.DisplayAlerts = True

Exit Sub

cleanError:
    MsgBox "An unexpected error occurred in '" & Proc & "'." & vbCr _
         & "Run-time error '" & Err.Number & "':" & vbCr & Err.Description _
           , vbCritical, Proc & " Error"
    On Error GoTo 0
    GoTo CleanExit
End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 2016-01-18
    相关资源
    最近更新 更多