入力ボックスの日付に基づくフィルターが機能しない


0

開始日と終了日を入力し、選択した日付の間でExcelテーブルのデータエントリをフィルター処理するVBAが必要です。ただし、このコードはフィルタリングされたエントリをゼロで返します。手動でExcelのフィルターにアクセスすると、正しく構成されていることがわかります(日付はフィルター条件ボックスに入れられます)。[OK]ボタンをクリックすると、問題なくフィルタリングされます。どのような間違いを犯したのでしょうか?

Psは、入力ボックスの値が正しい形式の日付であることを前提としています

Option Explicit

Sub ExpCsmLg()

' ExpCsmLg Makro
' this makro filters all data entries between two selected dates

Dim sdt As Date
Dim edt As Date

'sdt = InputBox("Choose Start date.")

'edt = InputBox("Choose End date.")


    ActiveSheet.Range("$A$5:$Q$7992").AutoFilter Field:=1, Criteria1:=">=" & sdt, Operator:=xlAnd, Criteria2:="<=" & edt


End Sub

回答:


0

これは私のために働くようです:

Option Explicit

Sub ExpCsmLg()

' ExpCsmLg Makro
' this makro filters all data entries between two selected dates

Dim sdt As Date
Dim edt As Date

sdt = CDate(Application.InputBox("Choose Start date.", Type:=2))

edt = CDate(Application.InputBox("Choose End date.", Type:=2))


    ActiveSheet.Range("$A$5:$Q$7992").AutoFilter Field:=1, Criteria1:=">=" & sdt, Operator:=xlAnd, Criteria2:="<=" & edt


End Sub

前:

ここに画像の説明を入力してください

以降:

ここに画像の説明を入力してください

注意:

Aの項目は実際の日付であり、テキスト値ではありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.