2017-05-02 17 views
0

列ANの日付に基づいてデータをフィルタリングするマクロを実行しようとすると、エラーが発生します。これを日付に依存するようにしたいので、今日の日付の2か月前からのすべてをフィルタリングする必要があります。動的日付によるオートフィルタのコンパイルエラー

Sub Move2017() 
Macro 2017 Clear 
Dim DQ As Date 
DQ = dateserial(Year(Now), month(Now) - 2, 1) 
Range("A1:AZ100000").AutoFilter field:=40, Operator:= _ 
    xlFilterValues, Criteria2:=Array(1, DQ) 
End Sub 

私は、次のエラーを得続ける: 「コンパイルエラー:引数または無効なプロパティの割り当ての数が間違って」

上の任意の考えがどのようにこの問題を解決するために?

答えて

2

これを試してみてください:

Range("A1:AZ100000").AutoFilter field:=40, Criteria1:=">="&DQ, Operator:=xlAnd 

は、テストの結果、私のために動作します。

+0

が完全に機能しました。私はこの点のポイントを失うように感じる。 – NeilD137

+2

@ NeilD137あなたはスコットのクレジットとマークを "回答"にするかもしれません(これまでの投稿でこれまでに行ったことはありませんでしたが、どのように知っていますか) –

+0

実際に、 – NeilD137

3

@Scott Holtzmanのソリューションがうまくいかない場合は、とDateを入力すると、セルをどのように整形したかによっても問題が発生することがあります。場合によっては、Doubleでうまくいく場合もあります。

また、DateAddを使用すると、今日の日付の2か月前に日付を取得するのがはるかに簡単です。

Option Explicit 

Sub Move2017() 

Dim DQ As Double 

DQ = DateAdd("m", -2, Date) '<-- get the date 2 month prior to today's date 
Range("A1:AZ100000").AutoFilter field:=40, Criteria1:=">" & DQ, Operator:=xlAnd 

End Sub 
関連する問題