2016-10-17 14 views
0

オプションボタンのおかげで、Excelのデータにフィルタを設定しようとしていますか?VBAでフィルタ条件を自動的に変更するにはどうすればよいですか?

私は満期日があり、期限切れのアイテムをこのフィルタで除外したいと考えています。

セルA3は今日のExcelの機能Today()で日付を与えています。

Sub OptionButton6_Click() 
    Rows("12:12").Select 
    Selection.AutoFilter 
    ActiveSheet.Range("$A$12:$AK$175").AutoFilter Field:=7, Criteria1:= _ 
    ">12/09/2016" , Operator:=xlAnd 
    Range("A1").Select 
End Sub 

そして、私はこれを試してみました:

私はこれが動作していることを知っているA3がこれをされた状態で

Sub OptionButton6_Click() 
    Rows("12:12").Select 
    Selection.AutoFilter 
    ActiveSheet.Range("$A$12:$AK$175").AutoFilter Field:=7, Criteria1:= _ 
     A3, Operator:=xlAnd 
    Range("A1").Select 
End Sub 

=CONCATENATE(">",TEXT(TODAY(),"dd/mm/yyyy"))

あなたが解決する方法上の任意のアイデアを持っていますこの問題?事前に

多くのおかげで、 Trancavel

答えて

0

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

ActiveSheet.Range("$A$12:$AK$175").AutoFilter Field:=7, _ 
    Criteria1:= ">" & DateValue(Now()), Operator:=xlAnd 
+0

ありがとう!コードは機能しますが、完全ではありません。今、マクロを適用すると、すべてがフィルタリングされます。私はデータがありません。ただし、「データフィルタ」に入ると、良いフィルタが設定され、再度検証すると良好なデータが表示されます。それは日付形式の問題かもしれませんか? – Trancavel

+0

ワークシートに実際の日付値が含まれているか、日付値*のように見える文字列かによって異なります。違いがあり、それがあなたの問題の根本だと思われます。 –

+0

私は確認し、この列の値はすべてDateの形式になっています。あなたのコードは自動的にフィルタを作成しており、私はそれを手動でアクティブにすることができます。ただし、マクロを実行しても何も表示されません。私は本当に理解していない。 – Trancavel

関連する問題