2016-08-08 21 views
0
With Sheets("LifeTimeData") 
    .Range("A1:BB" & lastrow).AutoFilter Field:=21, Criteria1:=xlFilterLastMonth, Operator:=xlAnd 
    .Range("A1:BB" & lastrow).AutoFilter Field:=16, Criteria1:="*" & "Deposit", Operator:=xlFilterDynamic 
    Set r = Intersect(.AutoFilter.Range, .Range("A:A")) 
    Filtred_Rows_Count = Application.WorksheetFunction.Subtotal(103, r) - 1 

    'Worksheets("LifeTimeData").AutoFilterMode = False 
    'Sheets("Overview").Range("G16") = Filtred_Rows_Count MsgBox Filtred_Rows_Count 
End With 
+0

Nimm Hier schauen – 0m3r

+0

https://stackoverflow.com/help/formatting Sie sollten eine Beschreibung zu Ihrer Frage gehören zu erklären, was Sie versuchen, mit Blick auf die Sie zu erreichen und das Problem. Formatieren Sie den Code zur besseren Lesbarkeit auch in Ihrer Frage. – GCSDC

+0

@Tanmoy fügen Sie eine Beschreibung Ihres Problems hinzu, was Sie erreichen möchten, und laden Sie Screenshots Ihrer Datentabelle hoch, die Sie mit diesem Code filtern möchten –

Antwort

1

Verwendung dieses:

Dim lastRow As Long, Filtred_Rows_Count As Long 
Dim R As Range 

With Sheets("LifeTimeData") 
    lastRow = .Cells(.Rows.Count, "P").End(xlUp).row 
    With .Range("A1:BB" & lastRow) 
     .AutoFilter field:=21, Criteria1:=xlFilterLastMonth, Operator:=xlFilterDynamic 
     .AutoFilter field:=16, Criteria1:="*" & "Deposit" 
     Set R = Intersect(.SpecialCells(xlCellTypeVisible), .Range("A:A")) 
    End With 
    Filtred_Rows_Count = Application.WorksheetFunction.Subtotal(103, R) - 1 

    'Worksheets("LifeTimeData").AutoFilterMode = False 
    'Sheets("Overview").Range("G16") = Filtred_Rows_Count MsgBox Filtred_Rows_Count 
End With 
0

Schließlich dachte er. :-)

With Sheets("LifeTimeData") 
    .Range("A1:BB" & lastrow).AutoFilter Field:=16, Criteria1:="*" & Trim("Deposit Received") & "*" 
    .Range("A1:BB" & lastrow).AutoFilter Field:=21, Criteria1:=xlFilterLastMonth 

    Set r = Intersect(.AutoFilter.Range, .Range("A:A")) 
    Filtred_Rows_Count = Application.WorksheetFunction.Subtotal(103, r) - 1 
    Worksheets("LifeTimeData").AutoFilterMode = False 
    Sheets("Overview").Range("H16") = Filtred_Rows_Count 
End With 
+0

Wirklich? Ich habe es getestet und konnte bis zum letzten Monat nicht filtern. Mach ein paar ausgiebige Tests. Und probiere meine Lösung ... – user3598756

+1

es wäre in Ordnung, Feedback an die Leute zu geben, die dir helfen wollen. Du hast sie nicht dazu verpflichtet, deine Frage zu beantworten, aber als Mitglied von SO möchtest du vielleicht Wertschätzung für ihre Versuche zeigen und, sobald sie sich als nützlich erwiesen haben, sie dafür belohnen, dass sie ihre Antwort als akzeptiert oder ihre Antworten aufheben. nur um ein Mitglied von SO zu beweisen – user3598756