2016-07-27 8 views
1

Ich habe den folgenden Code, In L1 möchte ich alle Daten außer gestern und heute auswählen und in M1 alle abwählen. Ich kann dasselbe in M1 machen, aber die Aktion in L1 nicht ausführen.Autofilter ein Bereich ohne zwei Daten

Range("L1").Select 
ActiveSheet.Range("$A$1:$U$3804").AutoFilter Field:=12, Operator:= _ 
    xlFilterValues, Criteria2:=Array(1, "2/11/2016", 1, "3/31/2016", 2, "4/5/2016", 2, _ 
    "4/6/2016", 2, "4/7/2016", 2, "4/8/2016", 2, "4/11/2016", 2, "4/12/2016", 2, "4/13/2016", _ 
    2, "4/14/2016", 2, "4/15/2016", 2, "4/18/2016", 2, "4/19/2016", 2, "4/20/2016", 2, _ 
    "4/21/2016", 2, "4/22/2016", 2, "4/25/2016", 0, "10/28/2015") 
Range("M1").Select 
ActiveSheet.Range("$A$1:$U$3804").AutoFilter Field:=13, Criteria1:="=" 

Von Benutzer-Kommentare:

Ich habe Daten aus Spalte A bis U. ich viele Kriterien haben jede Spalte auszuwählen, die in. In Spalte L gibt es nur Daten. Was ich erreichen möchte, ist, Datum von gestern und heute aufzuheben und alle anderen vorhandenen Daten auszuwählen. das ist es. Meine Aufgabe wird dort abgeschlossen sein

+0

Sie können thjat mit Autofilter nicht. Verwenden Sie ein Wörterbuch, um ein Array für die Filterkriterien zu erstellen. – Jeeped

+0

Dank @Jeeped Ich habe versucht, das zu tun, aber ich bin nicht in der Lage, es zu gestern und dem heutigen Datum zu bekommen ... Bitte helfen Sie mir mit dem Code. – user2842252

+2

Kein Problem, aber Ihr Datenmuster ist unklar. Hat die Spalte L sowohl Ganzzahlen als auch Datumsangaben? Möchten Sie alle diese sowie alle Leerzeichen in Spalte M? Gibt es eine Spalte in A: U, die einzigartig ist? Kannst du es überhaupt manuell machen oder ist es manuell nicht möglich? – Jeeped

Antwort

0

In Spalte L gibt es nur Daten. Was ich erreichen möchte, ist, Datum von gestern und heute aufzuheben und alle anderen vorhandenen Daten auszuwählen. das ist es.

Filter für alle Daten, die nicht heute oder gestern sind.

Option Explicit 

Sub notTodayOrYesterday() 
    With Worksheets("Sheet5") 
     If .AutoFilterMode Then .AutoFilterMode = False 
     With .Cells(1, 1).CurrentRegion 
      .AutoFilter Field:=12, Criteria1:=Format(Date, "\<\>mm/dd/yyyy"), _ 
         Operator:=xlAnd, Criteria2:=Format(Date - 1, "\<\>mm/dd/yyyy") 
     End With 
     If .AutoFilterMode Then .AutoFilterMode = False 
    End With 
End Sub 

Beachten Sie, dass dies auf einem Computersystem mit regionalen MDY-Einstellungen getestet wurde. Wenn es für Sie nicht funktioniert und Ihr System DMY ist, ändern Sie die Datumsformate.

not_today_yesterday
Bevor Autofilter angewandt

not_today_yesterday
Nach Autofilter (vor End Sub) angewendet