【问题标题】:Autofilter data in two columns自动过滤两列中的数据
【发布时间】:2020-10-30 17:17:58
【问题描述】:

我有两列数据。一列是状态,另一列是日期。

我想过滤一个州和三个月。

当我应用此代码时,所有数据都会消失。似乎这两个过滤器中的所有内容都取消了选择。

months 是一个 ArrayList。

Sheets("The Data (2)").Select
ActiveSheet.Range("$A:$T").AutoFilter Field:=6, Criteria1:=stateName, Operator:=xlFilterValues
Set months = getMonths(Year, Quarter)
ActiveSheet.Range("$A:$T").AutoFilter Field:=17, Criteria1:=Array(months.Item(0), months.Item(1), months.Item(2)), Operator:=xlFilterValues
Range("$A$1:$T$1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("State Rate Planning Template.xlsm").Activate
Sheets(3).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Range("A1").Select

【问题讨论】:

    标签: excel vba filter autofilter


    【解决方案1】:

    这是否满足您的需求。问题中有一些猜测工作,所以如果没有,请随时在下面澄清。

    Sub untested()
    Dim wb As Workbook: Set wb = Workbook(ThisWorkbook.Name)
    Dim ws As Worksheet: Set ws = wb.Worksheets("The data (2)")
    Dim months As Integer
    
    Set months = getMonths(Year, Quarter)
    
    With ws
      .Range("$A:$T").AutoFilter Field:=6, Criteria1:=stateName, Operator:=xlFilterValues
      .Range("$A:$T").AutoFilter Field:=17, Criteria1:=Array(months.Item(0), months.Item(1), months.Item(2)), Operator:=xlFilterValues
      .Range(Selection, Selection.End(xlDown)).Copy Destination:=Workbooks("State Rate Planning Template.xlsm").Worksheets(3).Range("A1")
    End With
    
    Workbooks("State Rate Planning Template.xlsm").Worksheets(3).Range("A1").Select
    
    End Sub
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 2019-04-02
    • 2014-11-12
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    相关资源
    最近更新 更多