2016-07-27 16 views
1

私はL1で、昨日と今日を除いてすべての日付を選択し、M1をすべて選択解除したいと思います。私はM1で同じことをすることはできましたが、L1でその行動を実行することはできませんでした。ユーザーのコメントから2つの日付を除く範囲のオートフィルタ

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:="=" 

私はU.に列Aからのデータを持っている私は、すべてのカラムで選択するために多くのcriteriasを持っています。列Lには日付のみがあります。私が達成したいのは、昨日と今日の日付を選択解除し、他の日付をすべて選択することです。それでおしまい。私の仕事はそこで完了します

+0

オートフィルタでthjatを行うことはできません。ディクショナリを使用してフィルタ条件の配列を作成します。 – Jeeped

+0

ありがとう@Jeeped私はそれをやってみましたが、私は昨日と今日の日付にそれを得ることができません...コードで私を助けてください。 – user2842252

+2

問題はありませんが、データパターンが不明です。列Lには整数と日付の両方が入っていますか?これらのすべてと、すべての空白をM列に入れたいですか?一意のA:Uに列がありますか?手動で行うことはできますか、手動で行うことは不可能ですか? – Jeeped

答えて

0

列Lには日付のみがあります。私が達成したいのは、昨日と今日の日付を選択解除し、他の日付をすべて選択することです。それでおしまい。

今日または昨日でないすべての日付のフィルタリング。

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 

これは、MDY地域設定のコンピュータシステムでテストされたことに注意してください。それがうまくいかず、システムがDMYの場合は、日付形式を変更してください。

not_today_yesterday
オートフィルタは(End Subの前に)適用された後、オートフィルタが

not_today_yesterday
を適用する前に